has-activity 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -6,6 +6,10 @@ A simple way to grab recent activity on a given model grouped by hour, day, week
6
6
 
7
7
  == Usage
8
8
 
9
+ Add gem to Gemfile...
10
+
11
+ gem 'has-activity', '~>0.1.0'
12
+
9
13
  Add the activity functionality to a model...
10
14
 
11
15
  # app/models/user.rb
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
data/has-activity.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "has-activity"
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Cary Dunn"]
@@ -113,7 +113,7 @@ module HasActivity
113
113
  entry = {
114
114
  :offset => r["has_activity_#{unit}_ago"].to_i,
115
115
  :activity => r["has_activity_count"].to_i,
116
- :date => round_activity_timestamp(r["has_activity_timestamp"].is_a?(String) ? Time.parse(r["has_activity_timestamp"]) : r["has_activity_timestamp"], unit).in_time_zone
116
+ :date => round_activity_timestamp(r["has_activity_timestamp"].is_a?(String) ? Time.parse(r["has_activity_timestamp"]) : r["has_activity_timestamp"], unit)
117
117
  }
118
118
  (order.to_s == "asc") ? rs.push(entry) : rs.unshift(entry)
119
119
  end
@@ -130,7 +130,7 @@ module HasActivity
130
130
  entry = {
131
131
  :offset => current_unit_offset,
132
132
  :activity => results[current_result_index]["has_activity_count"].to_i,
133
- :timestamp => round_activity_timestamp(results[current_result_index]["has_activity_timestamp"].is_a?(String) ? Time.parse(results[current_result_index]["has_activity_timestamp"]) : results[current_result_index]["has_activity_timestamp"], unit).in_time_zone
133
+ :timestamp => round_activity_timestamp(results[current_result_index]["has_activity_timestamp"].is_a?(String) ? Time.parse(results[current_result_index]["has_activity_timestamp"]) : results[current_result_index]["has_activity_timestamp"], unit)
134
134
  }
135
135
  current_result_index = current_result_index+1
136
136
  else
@@ -159,8 +159,15 @@ module HasActivity
159
159
  padded_results
160
160
  end # pad_activity_results
161
161
 
162
- def round_activity_timestamp(timestamp, round_to)
163
- Time.at((timestamp.to_f / 1.send(round_to)).floor * 1.send(round_to))
162
+ def round_activity_timestamp(t, round_to)
163
+ #Time.at((t.to_f / 1.send(round_to)).floor * 1.send(round_to))
164
+ if round_to == "weeks"
165
+ day = t.beginning_of_week.day
166
+ else
167
+ day = t.day
168
+ end
169
+
170
+ Time.new(t.year, t.month, (%w(weeks days hours).include?(round_to) ? day : 1), (round_to == "hours" ? t.hour : 0), 0, 0, Time.zone.utc_offset)
164
171
  end
165
172
 
166
173
  end # OverallMethods
@@ -30,5 +30,9 @@ unless Array.instance_methods.include? 'to_activity_gchart'
30
30
  end
31
31
  end
32
32
 
33
+ def to_activity_rickshaw_data
34
+ self.collect {|v| {:x => v[:timestamp].to_i, :y => v[:activity]} }
35
+ end
36
+
33
37
  end
34
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has-activity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-04-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: shoulda
16
- requirement: &70097998838120 !ruby/object:Gem::Requirement
16
+ requirement: &70135035018580 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70097998838120
24
+ version_requirements: *70135035018580
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rdoc
27
- requirement: &70097998837460 !ruby/object:Gem::Requirement
27
+ requirement: &70135035017920 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '3.12'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70097998837460
35
+ version_requirements: *70135035017920
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &70097998836700 !ruby/object:Gem::Requirement
38
+ requirement: &70135035017160 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70097998836700
46
+ version_requirements: *70135035017160
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &70097998835820 !ruby/object:Gem::Requirement
49
+ requirement: &70135035016280 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.8.3
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70097998835820
57
+ version_requirements: *70135035016280
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &70097998160620 !ruby/object:Gem::Requirement
60
+ requirement: &70135034768360 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70097998160620
68
+ version_requirements: *70135034768360
69
69
  description: A simple way to grab recent activity on a given model grouped by hour,
70
70
  day, week or month (time series). Supports "padding" for intervals without activity.
71
71
  email: cary.dunn@gmail.com
@@ -104,7 +104,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
104
104
  version: '0'
105
105
  segments:
106
106
  - 0
107
- hash: 2504134347312114032
107
+ hash: 2987300255728733323
108
108
  required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  none: false
110
110
  requirements: