amee-analytics 1.0.1 → 1.1.0

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 CHANGED
@@ -1,8 +1,8 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  # Dependencies
4
- gem "amee-data-abstraction","~> 1.1"
5
- gem "amee-data-persistence","~> 1.1"
4
+ gem "amee-data-abstraction","~> 1.3"
5
+ gem "amee-data-persistence","~> 1.2"
6
6
 
7
7
  # Add dependencies to develop your gem here.
8
8
  # Include everything needed to run rake, tests, features, etc.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.1.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{amee-analytics}
8
- s.version = "1.0.1"
8
+ s.version = "1.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["James Hetherington", "Andrew Berkeley", "James Smith", "George Palmer"]
12
- s.date = %q{2011-08-31}
12
+ s.date = %q{2011-10-18}
13
13
  s.description = %q{Part of the AMEE AppKit, this gem provides the ability to do mathmatical operations over a set of calculations}
14
14
  s.email = %q{help@amee.com}
15
15
  s.extra_rdoc_files = [
@@ -35,21 +35,22 @@ Gem::Specification.new do |s|
35
35
  "spec/amee/analytics/calculation_collection_spec.rb",
36
36
  "spec/amee/analytics/term_spec.rb",
37
37
  "spec/amee/analytics/terms_list_spec.rb",
38
+ "spec/fixtures/config/calculations/calcs.rb",
38
39
  "spec/spec.opts",
39
40
  "spec/spec_helper.rb"
40
41
  ]
41
42
  s.homepage = %q{http://github.com/AMEE/amee-analytics}
42
43
  s.licenses = ["MIT"]
43
44
  s.require_paths = ["lib"]
44
- s.rubygems_version = %q{1.6.2}
45
+ s.rubygems_version = %q{1.5.3}
45
46
  s.summary = %q{Analytics module for use with AMEE AppKit}
46
47
 
47
48
  if s.respond_to? :specification_version then
48
49
  s.specification_version = 3
49
50
 
50
51
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
51
- s.add_runtime_dependency(%q<amee-data-abstraction>, ["~> 1.1"])
52
- s.add_runtime_dependency(%q<amee-data-persistence>, ["~> 1.1"])
52
+ s.add_runtime_dependency(%q<amee-data-abstraction>, ["~> 1.3"])
53
+ s.add_runtime_dependency(%q<amee-data-persistence>, ["~> 1.2"])
53
54
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
54
55
  s.add_development_dependency(%q<rspec>, ["= 1.3.0"])
55
56
  s.add_development_dependency(%q<rcov>, [">= 0"])
@@ -57,8 +58,8 @@ Gem::Specification.new do |s|
57
58
  s.add_development_dependency(%q<flexmock>, ["> 0.8.6"])
58
59
  s.add_development_dependency(%q<activerecord>, ["~> 2.3.5"])
59
60
  else
60
- s.add_dependency(%q<amee-data-abstraction>, ["~> 1.1"])
61
- s.add_dependency(%q<amee-data-persistence>, ["~> 1.1"])
61
+ s.add_dependency(%q<amee-data-abstraction>, ["~> 1.3"])
62
+ s.add_dependency(%q<amee-data-persistence>, ["~> 1.2"])
62
63
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
63
64
  s.add_dependency(%q<rspec>, ["= 1.3.0"])
64
65
  s.add_dependency(%q<rcov>, [">= 0"])
@@ -67,8 +68,8 @@ Gem::Specification.new do |s|
67
68
  s.add_dependency(%q<activerecord>, ["~> 2.3.5"])
68
69
  end
69
70
  else
70
- s.add_dependency(%q<amee-data-abstraction>, ["~> 1.1"])
71
- s.add_dependency(%q<amee-data-persistence>, ["~> 1.1"])
71
+ s.add_dependency(%q<amee-data-abstraction>, ["~> 1.3"])
72
+ s.add_dependency(%q<amee-data-persistence>, ["~> 1.2"])
72
73
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
73
74
  s.add_dependency(%q<rspec>, ["= 1.3.0"])
74
75
  s.add_dependency(%q<rcov>, [">= 0"])
@@ -250,6 +250,28 @@ module AMEE
250
250
  Result.new { label label; value value; unit unit; per_unit per_unit }
251
251
  end
252
252
 
253
+ # Move an individual term to a specified location (index) within the list.
254
+ # The specific term is selected on the basis of one of it's attributes values,
255
+ # with the attribute to use (e.g. :value, :unit) given by <tt>attr</attr>
256
+ # and value by <tt>value</tt>. The location within the list to move the term
257
+ # is given as an index integer value as the final argument.
258
+ #
259
+ def move_by(attr,value,index)
260
+ if attr == :unit || attr == :per_unit
261
+ value = Unit.for value
262
+ end
263
+ term = find {|t| t.send(attr) == value }
264
+ return if term.nil?
265
+ delete(term)
266
+ insert(index, term)
267
+ end
268
+
269
+ # Rotate the list terms by one element - shifts the first-placed term to the
270
+ # end of the list, advancing all terms forward by one place.
271
+ def rotate
272
+ push(self.shift)
273
+ end
274
+
253
275
  # Sorts the terms list in place according to the term attribute indiated by
254
276
  # <tt>attr</tt>, returning <tt>self</tt>.
255
277
  #
@@ -263,18 +285,36 @@ module AMEE
263
285
 
264
286
  # Similar to <tt>#sort_by!</tt> but returns a new instance of
265
287
  # <i>TermsList</i> arranged according to the values on the
266
- # attribute <tt>attr</tt>. E.g.
288
+ # attribute <tt>attr</tt>.
267
289
  #
268
- # my_terms_list.sort_by :value
269
290
  #
270
- # #=> <AMEE::DataAbstraction::TermsList ... >
291
+ # If differences in units exist between terms, sorting occur based on the
292
+ # absolute quantities implied.
293
+ #
294
+ # E.g.
295
+ #
296
+ # my_terms_list.sort_by :value
297
+ #
298
+ # #=> <AMEE::DataAbstraction::TermsList ... >
271
299
  #
272
300
  def sort_by(attr)
273
- # Remove unset terms before sort and append at end
274
- unset_terms = select { |term| term.unset? }
275
- set_terms = select { |term| term.set? }
276
- set_terms.sort! { |term,other_term| term.send(attr) <=> other_term.send(attr) }
277
- TermsList.new(set_terms + unset_terms)
301
+ # 1. Remove unset terms before sort and append at end
302
+ #
303
+ # 2. Establish set terms
304
+ #
305
+ # 3. Zip together with corresponding standardized units list creating a
306
+ # list of Term pairs
307
+ #
308
+ # 4. Sort list according to standardized Terms
309
+ #
310
+ # 5. Return map of original (now sorted) Terms
311
+
312
+ unset_terms, set_terms = self.partition { |term| term.unset? || term.value.nil? }
313
+ standardized_set_terms = TermsList.new(set_terms).standardize_units
314
+ ordered_set_terms = set_terms.zip(standardized_set_terms).sort! do |term,other_term|
315
+ term[1].send(attr) <=> other_term[1].send(attr)
316
+ end.map {|term_array| term_array[0]}
317
+ TermsList.new(ordered_set_terms + unset_terms)
278
318
  end
279
319
 
280
320
  # Return an instance of <i>TermsList</i> containing only terms labelled
@@ -5,7 +5,6 @@ include AMEE::DataAbstraction
5
5
  describe CalculationCollection do
6
6
 
7
7
  before(:each) do
8
- initialize_calculation_set
9
8
  @calcs = []
10
9
  @calcs << add_elec_calc(500,240)
11
10
  @calcs << add_elec_calc(1000,480)
@@ -48,7 +47,7 @@ describe CalculationCollection do
48
47
  terms.all? {|term| term.is_a? AMEE::DataAbstraction::Output }.should be_true
49
48
  end
50
49
 
51
- it "should sum term values with homegeneous calcs" do
50
+ it "should sum term values with homogeneous calcs" do
52
51
  @coll.co2.sum.to_s.should eql "1320.0 t"
53
52
  @coll.co2.mean.to_s.should eql "440.0 t"
54
53
  @coll.usage.sum.to_s.should eql "2734.0 kWh"
@@ -122,6 +121,23 @@ describe CalculationCollection do
122
121
  coll.last['co2'].value.should eql 600
123
122
  end
124
123
 
124
+ it "should sort calcs considering differences in units" do
125
+ @coll.first['usage'].value.should eql 500
126
+ @coll.first['usage'].unit.label.should eql 'kWh'
127
+ @coll[1]['usage'].value.should eql 1000
128
+ @coll[1]['usage'].unit.label.should eql 'kWh'
129
+ @coll.last['usage'].unit 'J'
130
+ @coll.last['usage'].value.should eql 1234
131
+ @coll.last['usage'].unit.label.should eql 'J'
132
+ @coll.sort_by_usage!
133
+ @coll.first['usage'].value.should eql 1234
134
+ @coll.first['usage'].unit.label.should eql 'J'
135
+ @coll[1]['usage'].value.should eql 500
136
+ @coll[1]['usage'].unit.label.should eql 'kWh'
137
+ @coll.last['usage'].value.should eql 1000
138
+ @coll.last['usage'].unit.label.should eql 'kWh'
139
+ end
140
+
125
141
  it "should standardize units in place" do
126
142
  @coll.first['usage'].unit 'J'
127
143
  @coll.first['usage'].value.should eql 500
@@ -5,7 +5,6 @@ include AMEE::DataAbstraction
5
5
  describe TermsList do
6
6
 
7
7
  before(:each) do
8
- initialize_calculation_set
9
8
  calcs = []
10
9
  calcs << add_elec_calc(500,240)
11
10
  calcs << add_elec_calc(1000,480)
@@ -335,6 +334,90 @@ describe TermsList do
335
334
  @list.last.value.should eql nil
336
335
  end
337
336
 
337
+ it "should return a sorted terms list considering differences in units" do
338
+ @list=@list.co2
339
+ @list.first.unit 't'
340
+ @list[1].unit 'lb'
341
+ @list.last.unit 'kg'
342
+ @list.first.to_s.should eql "240.0 t"
343
+ @list[1].to_s.should eql "480.0 lb"
344
+ @list.last.to_s.should eql "600.0 kg"
345
+ @list.reverse!
346
+ @list.first.to_s.should_not eql "240.0 t"
347
+ @list.last.to_s.should_not eql "600.0 kg"
348
+ list = @list.sort_by_value
349
+ list.first.to_s.should eql "480.0 lb"
350
+ list[1].to_s.should eql "600.0 kg"
351
+ list.last.to_s.should eql "240.0 t"
352
+ end
353
+
354
+ it "should sort on non-numeric values" do
355
+ @list=@list.country
356
+ @list.first.value 'Zambia'
357
+ @list[1].value 'Bulgaria'
358
+ @list.last.value 'Mauritania'
359
+ @list.first.to_s.should eql 'Zambia'
360
+ @list[1].to_s.should eql 'Bulgaria'
361
+ @list.last.to_s.should eql 'Mauritania'
362
+ @list.reverse!
363
+ @list.first.to_s.should_not eql 'Zambia'
364
+ @list.last.to_s.should_not eql 'Mauritania'
365
+ list = @list.sort_by_value
366
+ list.first.to_s.should eql 'Bulgaria'
367
+ list[1].to_s.should eql 'Mauritania'
368
+ list.last.to_s.should eql'Zambia'
369
+ end
370
+
371
+ it "should move a term on the basis of value" do
372
+ @list=@list.co2
373
+ @list.first.to_s.should eql "240.0 t"
374
+ @list[1].to_s.should eql "480.0 t"
375
+ @list.last.to_s.should eql "600.0 t"
376
+ @list.move_by(:value, 600.0,0)
377
+ @list.first.to_s.should eql "600.0 t"
378
+ @list[1].to_s.should eql "240.0 t"
379
+ @list.last.to_s.should eql "480.0 t"
380
+ end
381
+
382
+ it "should move a term on the basis of unit object" do
383
+ @list=@list.co2
384
+ @list.first.unit 't'
385
+ @list[1].unit 'lb'
386
+ @list.last.unit 'kg'
387
+ @list.first.to_s.should eql "240.0 t"
388
+ @list[1].to_s.should eql "480.0 lb"
389
+ @list.last.to_s.should eql "600.0 kg"
390
+ @list.move_by(:unit, Unit.kg,1)
391
+ @list.first.to_s.should eql "240.0 t"
392
+ @list[1].to_s.should eql "600.0 kg"
393
+ @list.last.to_s.should eql "480.0 lb"
394
+ end
395
+
396
+ it "should move a term on the basis of unit label" do
397
+ @list=@list.co2
398
+ @list.first.unit 't'
399
+ @list[1].unit 'lb'
400
+ @list.last.unit 'kg'
401
+ @list.first.to_s.should eql "240.0 t"
402
+ @list[1].to_s.should eql "480.0 lb"
403
+ @list.last.to_s.should eql "600.0 kg"
404
+ @list.move_by(:unit, :t,-1)
405
+ @list.first.to_s.should eql "480.0 lb"
406
+ @list[1].to_s.should eql "600.0 kg"
407
+ @list.last.to_s.should eql "240.0 t"
408
+ end
409
+
410
+ it "should rotate terms" do
411
+ @list=@list.co2
412
+ @list.first.to_s.should eql "240.0 t"
413
+ @list[1].to_s.should eql "480.0 t"
414
+ @list.last.to_s.should eql "600.0 t"
415
+ @list.rotate
416
+ @list.first.to_s.should eql "480.0 t"
417
+ @list[1].to_s.should eql "600.0 t"
418
+ @list.last.to_s.should eql "240.0 t"
419
+ end
420
+
338
421
  it "should return a new TermList for numeric only terms" do
339
422
  @list=@list.co2.numeric_terms.should be_a TermsList
340
423
  end
@@ -0,0 +1,55 @@
1
+ calculation{
2
+ name 'Electricity'
3
+ label :electricity
4
+ path '/business/energy/electricity/grid'
5
+ drill {
6
+ label :country
7
+ path 'country'
8
+ value 'Argentina'
9
+ }
10
+ profile {
11
+ label :usage
12
+ name 'Electricity Used'
13
+ path 'energyPerTime'
14
+ default_unit :kWh
15
+ }
16
+ output {
17
+ label :co2
18
+ name 'Carbon Dioxide'
19
+ path 'default'
20
+ default_unit :t
21
+ }
22
+ }
23
+
24
+ calculation{
25
+ name 'Transport'
26
+ label :transport
27
+ path '/transport/defra/vehicle'
28
+ drill {
29
+ label :type
30
+ path 'type'
31
+ name 'Type'
32
+ }
33
+ drill {
34
+ label :size
35
+ path 'size'
36
+ name 'Size'
37
+ }
38
+ drill {
39
+ label :fuel
40
+ path 'fuel'
41
+ name 'Fuel'
42
+ }
43
+ profile {
44
+ label :distance
45
+ name 'distance'
46
+ path 'distance'
47
+ default_unit :km
48
+ }
49
+ output {
50
+ label :co2
51
+ name 'Carbon Dioxide'
52
+ path 'default'
53
+ default_unit :t
54
+ }
55
+ }
data/spec/spec_helper.rb CHANGED
@@ -3,7 +3,7 @@ require 'spec'
3
3
 
4
4
  require 'amee-analytics'
5
5
  require 'amee-data-persistence'
6
- require 'amee/data_abstraction/persistence_support.rb'
6
+ require 'amee/data_abstraction/ongoing_calculation_persistence_support.rb'
7
7
  require 'amee/data_abstraction/calculation_collection_analytics_support'
8
8
  require 'amee/data_abstraction/terms_list_analytics_support'
9
9
  require 'amee/data_abstraction/term_analytics_support'
@@ -15,80 +15,31 @@ AMEE::DataAbstraction::CalculationCollection.class_eval { include AMEE::DataAbst
15
15
  AMEE::DataAbstraction::TermsList.class_eval { include AMEE::DataAbstraction::TermsListAnalyticsSupport }
16
16
  AMEE::DataAbstraction::Term.class_eval { include AMEE::DataAbstraction::TermAnalyticsSupport }
17
17
 
18
- RAILS_ROOT = '.'
18
+ class Rails
19
+ def self.root
20
+ File.dirname(__FILE__) + '/fixtures'
21
+ end
22
+ def self.logger
23
+ nil
24
+ end
25
+ end
19
26
 
20
27
  Spec::Runner.configure do |config|
21
28
  config.mock_with :flexmock
22
- end
23
-
24
- def initialize_calculation_set
25
- eval "Calculations = AMEE::DataAbstraction::CalculationSet.new {
26
- calculation{
27
- name 'Electricity'
28
- label :electricity
29
- path '/business/energy/electricity/grid'
30
- drill {
31
- label :country
32
- path 'country'
33
- fixed 'Argentina'
34
- }
35
- profile {
36
- label :usage
37
- name 'Electricity Used'
38
- path 'energyPerTime'
39
- default_unit :kWh
40
- }
41
- output {
42
- label :co2
43
- name 'Carbon Dioxide'
44
- path :default
45
- default_unit :t
46
- }
47
- }
48
- calculation{
49
- name 'Transport'
50
- label :transport
51
- path '/transport/defra/vehicle'
52
- drill {
53
- label :type
54
- path 'type'
55
- name 'Type'
56
- }
57
- drill {
58
- label :size
59
- path 'size'
60
- name 'Size'
61
- }
62
- drill {
63
- label :fuel
64
- path 'fuel'
65
- name 'Fuel'
66
- }
67
- profile {
68
- label :distance
69
- name 'distance'
70
- path 'distance'
71
- default_unit :km
72
- }
73
- output {
74
- label :co2
75
- name 'Carbon Dioxide'
76
- path :default
77
- default_unit :t
78
- }
79
- }
80
- }"
29
+ config.before(:all) do
30
+ CalculationSet.find("calcs")
31
+ end
81
32
  end
82
33
 
83
34
  def add_elec_calc(act,res)
84
- calc = Calculations[:electricity].begin_calculation
35
+ calc = CalculationSet.find("calcs")[:electricity].begin_calculation
85
36
  calc['usage'].value act
86
37
  calc['co2'].value res
87
38
  return calc
88
39
  end
89
40
 
90
41
  def add_transport_calc(act,res)
91
- calc = Calculations[:transport].begin_calculation
42
+ calc = CalculationSet.find("calcs")[:transport].begin_calculation
92
43
  calc['distance'].value act
93
44
  calc['co2'].value res
94
45
  return calc
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amee-analytics
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 0
9
8
  - 1
10
- version: 1.0.1
9
+ - 0
10
+ version: 1.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - James Hetherington
@@ -18,43 +18,42 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2011-08-31 00:00:00 +01:00
21
+ date: 2011-10-18 00:00:00 +01:00
22
22
  default_executable:
23
23
  dependencies:
24
24
  - !ruby/object:Gem::Dependency
25
- prerelease: false
26
- type: :runtime
27
- requirement: &id001 !ruby/object:Gem::Requirement
25
+ name: amee-data-abstraction
26
+ version_requirements: &id001 !ruby/object:Gem::Requirement
28
27
  none: false
29
28
  requirements:
30
29
  - - ~>
31
30
  - !ruby/object:Gem::Version
32
- hash: 13
31
+ hash: 9
33
32
  segments:
34
33
  - 1
35
- - 1
36
- version: "1.1"
37
- name: amee-data-abstraction
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
34
+ - 3
35
+ version: "1.3"
40
36
  prerelease: false
41
37
  type: :runtime
42
- requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirement: *id001
39
+ - !ruby/object:Gem::Dependency
40
+ name: amee-data-persistence
41
+ version_requirements: &id002 !ruby/object:Gem::Requirement
43
42
  none: false
44
43
  requirements:
45
44
  - - ~>
46
45
  - !ruby/object:Gem::Version
47
- hash: 13
46
+ hash: 11
48
47
  segments:
49
48
  - 1
50
- - 1
51
- version: "1.1"
52
- name: amee-data-persistence
53
- version_requirements: *id002
54
- - !ruby/object:Gem::Dependency
49
+ - 2
50
+ version: "1.2"
55
51
  prerelease: false
56
- type: :development
57
- requirement: &id003 !ruby/object:Gem::Requirement
52
+ type: :runtime
53
+ requirement: *id002
54
+ - !ruby/object:Gem::Dependency
55
+ name: jeweler
56
+ version_requirements: &id003 !ruby/object:Gem::Requirement
58
57
  none: false
59
58
  requirements:
60
59
  - - ~>
@@ -65,12 +64,12 @@ dependencies:
65
64
  - 6
66
65
  - 4
67
66
  version: 1.6.4
68
- name: jeweler
69
- version_requirements: *id003
70
- - !ruby/object:Gem::Dependency
71
67
  prerelease: false
72
68
  type: :development
73
- requirement: &id004 !ruby/object:Gem::Requirement
69
+ requirement: *id003
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec
72
+ version_requirements: &id004 !ruby/object:Gem::Requirement
74
73
  none: false
75
74
  requirements:
76
75
  - - "="
@@ -81,12 +80,12 @@ dependencies:
81
80
  - 3
82
81
  - 0
83
82
  version: 1.3.0
84
- name: rspec
85
- version_requirements: *id004
86
- - !ruby/object:Gem::Dependency
87
83
  prerelease: false
88
84
  type: :development
89
- requirement: &id005 !ruby/object:Gem::Requirement
85
+ requirement: *id004
86
+ - !ruby/object:Gem::Dependency
87
+ name: rcov
88
+ version_requirements: &id005 !ruby/object:Gem::Requirement
90
89
  none: false
91
90
  requirements:
92
91
  - - ">="
@@ -95,12 +94,12 @@ dependencies:
95
94
  segments:
96
95
  - 0
97
96
  version: "0"
98
- name: rcov
99
- version_requirements: *id005
100
- - !ruby/object:Gem::Dependency
101
97
  prerelease: false
102
98
  type: :development
103
- requirement: &id006 !ruby/object:Gem::Requirement
99
+ requirement: *id005
100
+ - !ruby/object:Gem::Dependency
101
+ name: rspec_spinner
102
+ version_requirements: &id006 !ruby/object:Gem::Requirement
104
103
  none: false
105
104
  requirements:
106
105
  - - "="
@@ -111,12 +110,12 @@ dependencies:
111
110
  - 1
112
111
  - 3
113
112
  version: 1.1.3
114
- name: rspec_spinner
115
- version_requirements: *id006
116
- - !ruby/object:Gem::Dependency
117
113
  prerelease: false
118
114
  type: :development
119
- requirement: &id007 !ruby/object:Gem::Requirement
115
+ requirement: *id006
116
+ - !ruby/object:Gem::Dependency
117
+ name: flexmock
118
+ version_requirements: &id007 !ruby/object:Gem::Requirement
120
119
  none: false
121
120
  requirements:
122
121
  - - ">"
@@ -127,12 +126,12 @@ dependencies:
127
126
  - 8
128
127
  - 6
129
128
  version: 0.8.6
130
- name: flexmock
131
- version_requirements: *id007
132
- - !ruby/object:Gem::Dependency
133
129
  prerelease: false
134
130
  type: :development
135
- requirement: &id008 !ruby/object:Gem::Requirement
131
+ requirement: *id007
132
+ - !ruby/object:Gem::Dependency
133
+ name: activerecord
134
+ version_requirements: &id008 !ruby/object:Gem::Requirement
136
135
  none: false
137
136
  requirements:
138
137
  - - ~>
@@ -143,8 +142,9 @@ dependencies:
143
142
  - 3
144
143
  - 5
145
144
  version: 2.3.5
146
- name: activerecord
147
- version_requirements: *id008
145
+ prerelease: false
146
+ type: :development
147
+ requirement: *id008
148
148
  description: Part of the AMEE AppKit, this gem provides the ability to do mathmatical operations over a set of calculations
149
149
  email: help@amee.com
150
150
  executables: []
@@ -173,6 +173,7 @@ files:
173
173
  - spec/amee/analytics/calculation_collection_spec.rb
174
174
  - spec/amee/analytics/term_spec.rb
175
175
  - spec/amee/analytics/terms_list_spec.rb
176
+ - spec/fixtures/config/calculations/calcs.rb
176
177
  - spec/spec.opts
177
178
  - spec/spec_helper.rb
178
179
  has_rdoc: true
@@ -205,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
205
206
  requirements: []
206
207
 
207
208
  rubyforge_project:
208
- rubygems_version: 1.6.2
209
+ rubygems_version: 1.5.3
209
210
  signing_key:
210
211
  specification_version: 3
211
212
  summary: Analytics module for use with AMEE AppKit