redistat 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile.lock +0 -3
- data/README.md +2 -0
- data/lib/redistat.rb +2 -1
- data/lib/redistat/core_ext/bignum.rb +8 -0
- data/lib/redistat/date.rb +2 -0
- data/lib/redistat/finder/date_set.rb +2 -2
- data/lib/redistat/model.rb +10 -1
- data/lib/redistat/version.rb +1 -1
- data/redistat.gemspec +0 -1
- data/spec/event_spec.rb +3 -3
- data/spec/key_spec.rb +2 -2
- data/spec/model_helper.rb +7 -0
- data/spec/model_spec.rb +5 -0
- metadata +10 -34
data/Gemfile.lock
CHANGED
@@ -5,7 +5,6 @@ PATH
|
|
5
5
|
activesupport (>= 2.3.0)
|
6
6
|
json (>= 1.4.0)
|
7
7
|
redis (>= 2.1.0)
|
8
|
-
system_timer (>= 1.0.0)
|
9
8
|
time_ext (>= 0.2.8)
|
10
9
|
|
11
10
|
GEM
|
@@ -24,7 +23,6 @@ GEM
|
|
24
23
|
rspec-expectations (2.1.0)
|
25
24
|
diff-lcs (~> 1.1.2)
|
26
25
|
rspec-mocks (2.1.0)
|
27
|
-
system_timer (1.0)
|
28
26
|
time_ext (0.2.8)
|
29
27
|
activesupport (>= 2.3.0)
|
30
28
|
i18n (>= 0.4.2)
|
@@ -39,6 +37,5 @@ DEPENDENCIES
|
|
39
37
|
redis (>= 2.1.0)
|
40
38
|
redistat!
|
41
39
|
rspec (>= 2.1.0)
|
42
|
-
system_timer (>= 1.0.0)
|
43
40
|
time_ext (>= 0.2.8)
|
44
41
|
yard (>= 0.6.3)
|
data/README.md
CHANGED
@@ -14,6 +14,8 @@ Redis fits perfectly with all of these requirements. It has atomic operations li
|
|
14
14
|
|
15
15
|
gem install redistat
|
16
16
|
|
17
|
+
If you are using Ruby 1.8.x, it's recommended you also install the `system_timer` gem, as the Redis gem will otherwise complain.
|
18
|
+
|
17
19
|
## Usage
|
18
20
|
|
19
21
|
The simplest way to use Redistat is through the model wrapper.
|
data/lib/redistat.rb
CHANGED
@@ -26,6 +26,7 @@ require 'redistat/summary'
|
|
26
26
|
require 'redistat/core_ext/date'
|
27
27
|
require 'redistat/core_ext/time'
|
28
28
|
require 'redistat/core_ext/fixnum'
|
29
|
+
require 'redistat/core_ext/bignum'
|
29
30
|
|
30
31
|
module Redistat
|
31
32
|
|
@@ -54,7 +55,7 @@ module Redistat
|
|
54
55
|
end
|
55
56
|
|
56
57
|
def flush
|
57
|
-
puts "WARNING: Redistat.flush is deprecated. Use Redistat.redis.
|
58
|
+
puts "WARNING: Redistat.flush is deprecated. Use Redistat.redis.flushdb instead."
|
58
59
|
connection.flushdb
|
59
60
|
end
|
60
61
|
|
data/lib/redistat/date.rb
CHANGED
@@ -42,7 +42,7 @@ module Redistat
|
|
42
42
|
return find_start_year_for(start_date, end_date, lowest_depth) if unit == :year
|
43
43
|
index = Date::DEPTHS.index(unit)
|
44
44
|
nunit = Date::DEPTHS[(index > 0) ? index-1 : index]
|
45
|
-
if start_date < start_date.
|
45
|
+
if start_date < start_date.beginning_of_closest(nunit) || start_date.next(nunit).beginning_of(nunit) > end_date.beginning_of(nunit)
|
46
46
|
add = []
|
47
47
|
start_date.beginning_of_each(unit, :include_start => lowest_depth).until(start_date.end_of(nunit)) do |t|
|
48
48
|
add << t.to_rs.to_s(unit) if t < end_date.beginning_of(unit)
|
@@ -59,7 +59,7 @@ module Redistat
|
|
59
59
|
index = Date::DEPTHS.index(unit)
|
60
60
|
nunit = Date::DEPTHS[(index > 0) ? index-1 : index]
|
61
61
|
has_nunit = end_date.prev(nunit).beginning_of(nunit) >= start_date.beginning_of(nunit)
|
62
|
-
nearest_nunit = end_date.
|
62
|
+
nearest_nunit = end_date.beginning_of_closest(nunit)
|
63
63
|
if end_date >= nearest_nunit && has_nunit
|
64
64
|
add = []
|
65
65
|
end_date.beginning_of(nunit).beginning_of_each(unit, :include_start => true, :include_end => lowest_depth).until(end_date) do |t|
|
data/lib/redistat/model.rb
CHANGED
@@ -39,6 +39,15 @@ module Redistat
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
+
def class_name(class_name = nil)
|
43
|
+
if !class_name.nil?
|
44
|
+
options[:class_name] = class_name
|
45
|
+
else
|
46
|
+
options[:class_name] || nil
|
47
|
+
end
|
48
|
+
end
|
49
|
+
alias :scope :class_name
|
50
|
+
|
42
51
|
def depth(depth = nil)
|
43
52
|
if !depth.nil?
|
44
53
|
options[:depth] = depth
|
@@ -62,7 +71,7 @@ module Redistat
|
|
62
71
|
private
|
63
72
|
|
64
73
|
def name
|
65
|
-
@name ||= self.to_s
|
74
|
+
options[:class_name] || (@name ||= self.to_s)
|
66
75
|
end
|
67
76
|
|
68
77
|
end
|
data/lib/redistat/version.rb
CHANGED
data/redistat.gemspec
CHANGED
@@ -22,7 +22,6 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_runtime_dependency 'activesupport', '>= 2.3.0'
|
23
23
|
s.add_runtime_dependency 'json', '>= 1.4.0'
|
24
24
|
s.add_runtime_dependency 'redis', '>= 2.1.0'
|
25
|
-
s.add_runtime_dependency 'system_timer', '>= 1.0.0'
|
26
25
|
s.add_runtime_dependency 'time_ext', '>= 0.2.8'
|
27
26
|
|
28
27
|
s.add_development_dependency 'rspec', '>= 2.1.0'
|
data/spec/event_spec.rb
CHANGED
@@ -20,7 +20,7 @@ describe Redistat::Event do
|
|
20
20
|
@event.scope.should == @scope
|
21
21
|
@event.label.should == @label
|
22
22
|
@event.label_hash.should == @label_hash
|
23
|
-
@event.date.to_time.should == @date
|
23
|
+
@event.date.to_time.to_s.should == @date.to_s
|
24
24
|
@event.stats.should == @stats
|
25
25
|
@event.meta.should == @meta
|
26
26
|
@event.options.should == @event.default_options.merge(@options)
|
@@ -28,10 +28,10 @@ describe Redistat::Event do
|
|
28
28
|
|
29
29
|
it "should allow changing attributes" do
|
30
30
|
# date
|
31
|
-
@event.date.to_time.should == @date
|
31
|
+
@event.date.to_time.to_s.should == @date.to_s
|
32
32
|
@date = Time.now
|
33
33
|
@event.date = @date
|
34
|
-
@event.date.to_time.should == @date
|
34
|
+
@event.date.to_time.to_s.should == @date.to_s
|
35
35
|
# label
|
36
36
|
@event.label.should == @label
|
37
37
|
@event.label_hash.should == @label_hash
|
data/spec/key_spec.rb
CHANGED
@@ -46,10 +46,10 @@ describe Redistat::Key do
|
|
46
46
|
@key.scope = @scope
|
47
47
|
@key.scope.should == @scope
|
48
48
|
# date
|
49
|
-
@key.date.to_time.should == @date
|
49
|
+
@key.date.to_time.to_s.should == @date.to_s
|
50
50
|
@date = Time.now
|
51
51
|
@key.date = @date
|
52
|
-
@key.date.to_time.should == @date
|
52
|
+
@key.date.to_time.to_s.should == @date.to_s
|
53
53
|
# label
|
54
54
|
@key.label.should == @label
|
55
55
|
@key.label_hash == @label_hash
|
data/spec/model_helper.rb
CHANGED
data/spec/model_spec.rb
CHANGED
@@ -8,6 +8,7 @@ describe Redistat::Model do
|
|
8
8
|
ModelHelper1.redis.flushdb
|
9
9
|
ModelHelper2.redis.flushdb
|
10
10
|
ModelHelper3.redis.flushdb
|
11
|
+
ModelHelper4.redis.flushdb
|
11
12
|
end
|
12
13
|
|
13
14
|
it "should should name itself correctly" do
|
@@ -19,6 +20,7 @@ describe Redistat::Model do
|
|
19
20
|
ModelHelper2.depth.should == :day
|
20
21
|
ModelHelper2.store_event.should == true
|
21
22
|
ModelHelper2.hashed_label.should == true
|
23
|
+
ModelHelper2.class_name.should be_nil
|
22
24
|
|
23
25
|
ModelHelper1.depth.should == nil
|
24
26
|
ModelHelper1.store_event.should == nil
|
@@ -35,6 +37,9 @@ describe Redistat::Model do
|
|
35
37
|
ModelHelper1.depth.should == nil
|
36
38
|
ModelHelper1.store_event.should == nil
|
37
39
|
ModelHelper1.hashed_label.should == nil
|
40
|
+
|
41
|
+
ModelHelper4.class_name.should == "FancyHelper"
|
42
|
+
ModelHelper4.send(:name).should == "FancyHelper"
|
38
43
|
end
|
39
44
|
|
40
45
|
it "should store and fetch stats" do
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redistat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 19
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
8
|
+
- 7
|
9
|
+
version: 0.0.7
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Jim Myhrberg
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-12-
|
17
|
+
date: 2010-12-29 00:00:00 +00:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -26,7 +25,6 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
28
|
segments:
|
31
29
|
- 2
|
32
30
|
- 3
|
@@ -42,7 +40,6 @@ dependencies:
|
|
42
40
|
requirements:
|
43
41
|
- - ">="
|
44
42
|
- !ruby/object:Gem::Version
|
45
|
-
hash: 7
|
46
43
|
segments:
|
47
44
|
- 1
|
48
45
|
- 4
|
@@ -58,7 +55,6 @@ dependencies:
|
|
58
55
|
requirements:
|
59
56
|
- - ">="
|
60
57
|
- !ruby/object:Gem::Version
|
61
|
-
hash: 11
|
62
58
|
segments:
|
63
59
|
- 2
|
64
60
|
- 1
|
@@ -66,70 +62,51 @@ dependencies:
|
|
66
62
|
version: 2.1.0
|
67
63
|
type: :runtime
|
68
64
|
version_requirements: *id003
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: system_timer
|
71
|
-
prerelease: false
|
72
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ">="
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
hash: 23
|
78
|
-
segments:
|
79
|
-
- 1
|
80
|
-
- 0
|
81
|
-
- 0
|
82
|
-
version: 1.0.0
|
83
|
-
type: :runtime
|
84
|
-
version_requirements: *id004
|
85
65
|
- !ruby/object:Gem::Dependency
|
86
66
|
name: time_ext
|
87
67
|
prerelease: false
|
88
|
-
requirement: &
|
68
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
89
69
|
none: false
|
90
70
|
requirements:
|
91
71
|
- - ">="
|
92
72
|
- !ruby/object:Gem::Version
|
93
|
-
hash: 7
|
94
73
|
segments:
|
95
74
|
- 0
|
96
75
|
- 2
|
97
76
|
- 8
|
98
77
|
version: 0.2.8
|
99
78
|
type: :runtime
|
100
|
-
version_requirements: *
|
79
|
+
version_requirements: *id004
|
101
80
|
- !ruby/object:Gem::Dependency
|
102
81
|
name: rspec
|
103
82
|
prerelease: false
|
104
|
-
requirement: &
|
83
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
105
84
|
none: false
|
106
85
|
requirements:
|
107
86
|
- - ">="
|
108
87
|
- !ruby/object:Gem::Version
|
109
|
-
hash: 11
|
110
88
|
segments:
|
111
89
|
- 2
|
112
90
|
- 1
|
113
91
|
- 0
|
114
92
|
version: 2.1.0
|
115
93
|
type: :development
|
116
|
-
version_requirements: *
|
94
|
+
version_requirements: *id005
|
117
95
|
- !ruby/object:Gem::Dependency
|
118
96
|
name: yard
|
119
97
|
prerelease: false
|
120
|
-
requirement: &
|
98
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
121
99
|
none: false
|
122
100
|
requirements:
|
123
101
|
- - ">="
|
124
102
|
- !ruby/object:Gem::Version
|
125
|
-
hash: 1
|
126
103
|
segments:
|
127
104
|
- 0
|
128
105
|
- 6
|
129
106
|
- 3
|
130
107
|
version: 0.6.3
|
131
108
|
type: :development
|
132
|
-
version_requirements: *
|
109
|
+
version_requirements: *id006
|
133
110
|
description: A Redis-backed statistics storage and querying library written in Ruby.
|
134
111
|
email:
|
135
112
|
- contact@jimeh.me
|
@@ -151,6 +128,7 @@ files:
|
|
151
128
|
- lib/redistat.rb
|
152
129
|
- lib/redistat/collection.rb
|
153
130
|
- lib/redistat/connection.rb
|
131
|
+
- lib/redistat/core_ext/bignum.rb
|
154
132
|
- lib/redistat/core_ext/date.rb
|
155
133
|
- lib/redistat/core_ext/fixnum.rb
|
156
134
|
- lib/redistat/core_ext/time.rb
|
@@ -198,7 +176,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
198
176
|
requirements:
|
199
177
|
- - ">="
|
200
178
|
- !ruby/object:Gem::Version
|
201
|
-
hash: 3
|
202
179
|
segments:
|
203
180
|
- 0
|
204
181
|
version: "0"
|
@@ -207,7 +184,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
207
184
|
requirements:
|
208
185
|
- - ">="
|
209
186
|
- !ruby/object:Gem::Version
|
210
|
-
hash: 3
|
211
187
|
segments:
|
212
188
|
- 0
|
213
189
|
version: "0"
|