diff --git a/Socialmetrica.package/TweetsCollection.class/instance/splitByWeeks.st b/Socialmetrica.package/TweetsCollection.class/instance/splitByWeeks.st new file mode 100644 index 0000000..52d0097 --- /dev/null +++ b/Socialmetrica.package/TweetsCollection.class/instance/splitByWeeks.st @@ -0,0 +1,11 @@ +accessing +splitByWeeks + + | response spans | + response := OrderedDictionary new. + self timeSpansByWeeks doWithIndex: [ :span :i | + response + at: span asDatesString + put: (self select: [ :message | span includes: (message created asDateAndTime)]) + ]. + ^ response \ No newline at end of file diff --git a/Socialmetrica.package/TweetsCollection.class/instance/timeSpansByWeeks.st b/Socialmetrica.package/TweetsCollection.class/instance/timeSpansByWeeks.st new file mode 100644 index 0000000..af397f8 --- /dev/null +++ b/Socialmetrica.package/TweetsCollection.class/instance/timeSpansByWeeks.st @@ -0,0 +1,5 @@ +accessing +timeSpansByWeeks + + ^ (Timespan starting: self oldest created ending: self newest created) + weeks asOrderedCollection \ No newline at end of file diff --git a/Socialmetrica.package/Week.extension/instance/asDates.st b/Socialmetrica.package/Week.extension/instance/asDates.st new file mode 100644 index 0000000..14d0094 --- /dev/null +++ b/Socialmetrica.package/Week.extension/instance/asDates.st @@ -0,0 +1,5 @@ +*Socialmetrica +asDates + + ^ {self start. + (self start + self duration) - 1 milliSecond} \ No newline at end of file diff --git a/Socialmetrica.package/Week.extension/instance/asDatesString.st b/Socialmetrica.package/Week.extension/instance/asDatesString.st new file mode 100644 index 0000000..1e43990 --- /dev/null +++ b/Socialmetrica.package/Week.extension/instance/asDatesString.st @@ -0,0 +1,9 @@ +*Socialmetrica +asDatesString + + | dates firstDate | + dates := self asDatesStrings. + firstDate := dates first splitOn: ' '. + firstDate removeLast. + firstDate:= '' join: firstDate. + ^ firstDate, '→', (dates second copyWithoutAll: ' ') \ No newline at end of file diff --git a/Socialmetrica.package/Week.extension/instance/asDatesStrings.st b/Socialmetrica.package/Week.extension/instance/asDatesStrings.st new file mode 100644 index 0000000..014f96c --- /dev/null +++ b/Socialmetrica.package/Week.extension/instance/asDatesStrings.st @@ -0,0 +1,4 @@ +*Socialmetrica +asDatesStrings + + ^ self asDates collect: [ :date | date asDate asString ] \ No newline at end of file diff --git a/Socialmetrica.package/Week.extension/properties.json b/Socialmetrica.package/Week.extension/properties.json new file mode 100644 index 0000000..039c88e --- /dev/null +++ b/Socialmetrica.package/Week.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "Week" +} \ No newline at end of file