active_metric 2.5.2 → 2.5.3

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.
@@ -85,8 +85,11 @@ module ActiveMetric
85
85
  end
86
86
 
87
87
  def current_sample
88
- @current_sample ||= self.class.sample_type.new(:samplable => self,
89
- :interval => self.class.interval_length)
88
+ @current_sample ||= self.class.sample_type.new({:samplable => self,
89
+ :interval => self.class.interval_length},
90
+ {},
91
+ nil,
92
+ graph_view_model.size)
90
93
  end
91
94
 
92
95
  def self.sample_type
@@ -1,3 +1,3 @@
1
1
  module ActiveMetric
2
- VERSION = "2.5.2"
2
+ VERSION = "2.5.3"
3
3
  end
@@ -62,7 +62,30 @@ module ActiveMetric
62
62
  assert_equal [[2,4],[7,9]], gvm.series_for("max_value").data
63
63
  end
64
64
 
65
+ test "retrieving existing subject allows series data to be updated where it left off" do
66
+ report = Report.create
67
+ subject = TestSubject.create :report => report
68
+
69
+ 14.times do |value|
70
+ subject.calculate TestMeasurement.new(:value => value, :timestamp => value)
71
+ end
72
+
73
+ subject.complete
65
74
 
75
+ gvm = subject.graph_view_model
76
+
77
+ assert_equal [[2,4],[7,9],[11,13]], gvm.series_for("max_value").data
78
+
79
+ same_subject = TestSubject.where(:report => report).first
80
+
81
+ same_subject.calculate TestMeasurement.new(:value => 14, :timestamp => 14)
82
+ same_subject.complete
83
+
84
+ same_gvm = same_subject.graph_view_model
85
+
86
+ same_subject.update_series_data
87
+ assert_equal [[2,4],[7,9],[11,13],[14,14]], same_gvm.series_for("max_value").data
88
+ end
66
89
 
67
90
  end
68
91
  end
data/test/stat_test.rb CHANGED
@@ -185,6 +185,16 @@ module ActiveMetric
185
185
  assert_equal 25, stat.value
186
186
  end
187
187
 
188
+ test "can calculate 80th percentile" do
189
+ stat = Eightieth.new(:value, :calculable => @sample)
190
+ values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
191
+ values.each_with_index do |value, index|
192
+ @subject.update_subject_calculators TestMeasurement.new(:value => value, :timesteamp => values[index])
193
+ end
194
+ stat.complete
195
+ assert_equal 11, stat.value
196
+ end
197
+
188
198
 
189
199
  #this test is here for the user, not for automated tests
190
200
  #test "random distributions are good too" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_metric
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.2
4
+ version: 2.5.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2013-07-01 00:00:00.000000000 Z
17
+ date: 2013-12-16 00:00:00.000000000 Z
18
18
  dependencies: []
19
19
  description: ActiveMetric is a mongo based statistics calculator and persistance layer
20
20
  email:
@@ -84,9 +84,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
84
  - - ! '>='
85
85
  - !ruby/object:Gem::Version
86
86
  version: '0'
87
- segments:
88
- - 0
89
- hash: 881746595493551969
90
87
  required_rubygems_version: !ruby/object:Gem::Requirement
91
88
  none: false
92
89
  requirements: