amee-analytics 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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