amee-data-abstraction 2.1.1 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. data/CHANGELOG.txt +3 -0
  2. data/README.txt +26 -14
  3. data/VERSION +1 -1
  4. data/amee-data-abstraction.gemspec +7 -6
  5. data/lib/amee-data-abstraction/calculation.rb +1 -1
  6. data/lib/amee-data-abstraction/calculation_set.rb +152 -10
  7. data/lib/amee-data-abstraction/input.rb +10 -0
  8. data/lib/amee-data-abstraction/ongoing_calculation.rb +1 -1
  9. data/lib/amee-data-abstraction/term.rb +31 -13
  10. data/spec/amee-data-abstraction/calculation_set_spec.rb +247 -9
  11. data/spec/amee-data-abstraction/calculation_spec.rb +24 -19
  12. data/spec/amee-data-abstraction/drill_spec.rb +14 -9
  13. data/spec/amee-data-abstraction/input_spec.rb +113 -73
  14. data/spec/amee-data-abstraction/metadatum_spec.rb +1 -1
  15. data/spec/amee-data-abstraction/ongoing_calculation_spec.rb +38 -30
  16. data/spec/amee-data-abstraction/profile_spec.rb +4 -2
  17. data/spec/amee-data-abstraction/prototype_calculation_spec.rb +13 -8
  18. data/spec/amee-data-abstraction/term_spec.rb +45 -4
  19. data/spec/amee-data-abstraction/terms_list_spec.rb +23 -12
  20. data/spec/config/amee_units_spec.rb +1 -2
  21. data/spec/core-extensions/class_spec.rb +18 -18
  22. data/spec/core-extensions/hash_spec.rb +1 -2
  23. data/spec/core-extensions/ordered_hash_spec.rb +1 -2
  24. data/spec/core-extensions/proc_spec.rb +1 -1
  25. data/spec/fixtures/config/calculations/electricity.rb +35 -0
  26. data/spec/fixtures/config/calculations/electricity_and_transport.rb +53 -0
  27. data/spec/fixtures/{transport.rb → config/calculations/transport.rb} +2 -2
  28. data/spec/fixtures/{electricity.rb → config/electricity.rb} +1 -1
  29. data/spec/spec_helper.rb +30 -2
  30. metadata +28 -27
  31. data/spec/fixtures/electricity_and_transport.rb +0 -55
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amee-data-abstraction
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
- - 1
9
- - 1
10
- version: 2.1.1
8
+ - 2
9
+ - 0
10
+ version: 2.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - James Hetherington
@@ -18,13 +18,11 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2011-10-12 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
25
  name: amee
27
- type: :runtime
28
26
  version_requirements: &id001 !ruby/object:Gem::Requirement
29
27
  none: false
30
28
  requirements:
@@ -36,11 +34,11 @@ dependencies:
36
34
  - 1
37
35
  - 5
38
36
  version: 4.1.5
37
+ prerelease: false
38
+ type: :runtime
39
39
  requirement: *id001
40
40
  - !ruby/object:Gem::Dependency
41
- prerelease: false
42
41
  name: uuidtools
43
- type: :runtime
44
42
  version_requirements: &id002 !ruby/object:Gem::Requirement
45
43
  none: false
46
44
  requirements:
@@ -52,11 +50,11 @@ dependencies:
52
50
  - 1
53
51
  - 2
54
52
  version: 2.1.2
53
+ prerelease: false
54
+ type: :runtime
55
55
  requirement: *id002
56
56
  - !ruby/object:Gem::Dependency
57
- prerelease: false
58
57
  name: quantify
59
- type: :runtime
60
58
  version_requirements: &id003 !ruby/object:Gem::Requirement
61
59
  none: false
62
60
  requirements:
@@ -68,11 +66,11 @@ dependencies:
68
66
  - 0
69
67
  - 0
70
68
  version: 2.0.0
69
+ prerelease: false
70
+ type: :runtime
71
71
  requirement: *id003
72
72
  - !ruby/object:Gem::Dependency
73
- prerelease: false
74
73
  name: bundler
75
- type: :development
76
74
  version_requirements: &id004 !ruby/object:Gem::Requirement
77
75
  none: false
78
76
  requirements:
@@ -84,11 +82,11 @@ dependencies:
84
82
  - 0
85
83
  - 0
86
84
  version: 1.0.0
85
+ prerelease: false
86
+ type: :development
87
87
  requirement: *id004
88
88
  - !ruby/object:Gem::Dependency
89
- prerelease: false
90
89
  name: jeweler
91
- type: :development
92
90
  version_requirements: &id005 !ruby/object:Gem::Requirement
93
91
  none: false
94
92
  requirements:
@@ -100,11 +98,11 @@ dependencies:
100
98
  - 6
101
99
  - 4
102
100
  version: 1.6.4
101
+ prerelease: false
102
+ type: :development
103
103
  requirement: *id005
104
104
  - !ruby/object:Gem::Dependency
105
- prerelease: false
106
105
  name: rspec
107
- type: :development
108
106
  version_requirements: &id006 !ruby/object:Gem::Requirement
109
107
  none: false
110
108
  requirements:
@@ -116,11 +114,11 @@ dependencies:
116
114
  - 6
117
115
  - 0
118
116
  version: 2.6.0
117
+ prerelease: false
118
+ type: :development
119
119
  requirement: *id006
120
120
  - !ruby/object:Gem::Dependency
121
- prerelease: false
122
121
  name: flexmock
123
- type: :development
124
122
  version_requirements: &id007 !ruby/object:Gem::Requirement
125
123
  none: false
126
124
  requirements:
@@ -132,11 +130,11 @@ dependencies:
132
130
  - 8
133
131
  - 6
134
132
  version: 0.8.6
133
+ prerelease: false
134
+ type: :development
135
135
  requirement: *id007
136
136
  - !ruby/object:Gem::Dependency
137
- prerelease: false
138
137
  name: rcov
139
- type: :development
140
138
  version_requirements: &id008 !ruby/object:Gem::Requirement
141
139
  none: false
142
140
  requirements:
@@ -146,11 +144,11 @@ dependencies:
146
144
  segments:
147
145
  - 0
148
146
  version: "0"
147
+ prerelease: false
148
+ type: :development
149
149
  requirement: *id008
150
150
  - !ruby/object:Gem::Dependency
151
- prerelease: false
152
151
  name: rdoc
153
- type: :development
154
152
  version_requirements: &id009 !ruby/object:Gem::Requirement
155
153
  none: false
156
154
  requirements:
@@ -160,6 +158,8 @@ dependencies:
160
158
  segments:
161
159
  - 0
162
160
  version: "0"
161
+ prerelease: false
162
+ type: :development
163
163
  requirement: *id009
164
164
  description: Part of the AMEEappkit this gem provides a data abstraction layer, decreasing the amount and detail of development required
165
165
  email: help@amee.com
@@ -216,9 +216,10 @@ files:
216
216
  - spec/core-extensions/hash_spec.rb
217
217
  - spec/core-extensions/ordered_hash_spec.rb
218
218
  - spec/core-extensions/proc_spec.rb
219
- - spec/fixtures/electricity.rb
220
- - spec/fixtures/electricity_and_transport.rb
221
- - spec/fixtures/transport.rb
219
+ - spec/fixtures/config/calculations/electricity.rb
220
+ - spec/fixtures/config/calculations/electricity_and_transport.rb
221
+ - spec/fixtures/config/calculations/transport.rb
222
+ - spec/fixtures/config/electricity.rb
222
223
  - spec/spec.opts
223
224
  - spec/spec_helper.rb
224
225
  has_rdoc: true
@@ -251,7 +252,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
251
252
  requirements: []
252
253
 
253
254
  rubyforge_project:
254
- rubygems_version: 1.4.2
255
+ rubygems_version: 1.5.3
255
256
  signing_key:
256
257
  specification_version: 3
257
258
  summary: Calculation and form building tool hiding details of AMEEconnect
@@ -1,55 +0,0 @@
1
- ElectricityAndTransport=AMEE::DataAbstraction::CalculationSet.new {
2
- all_calculations {
3
- metadatum {
4
- label :department
5
- choices %w{stuff things more_stuff meta_things}
6
- }
7
- }
8
-
9
- calculation{
10
- name 'electricity'
11
- label :electricity
12
- path '/business/energy/electricity/grid'
13
- profile {
14
- label :usage
15
- name 'Electricity Used'
16
- path 'energyPerTime'
17
- }
18
- drill {
19
- label :country
20
- path 'country'
21
- fixed 'Argentina'
22
- }
23
- output {
24
- label :co2
25
- path :default
26
- }
27
- }
28
-
29
- calculation {
30
- name 'transport'
31
- label :transport
32
- path '/transport/car/generic'
33
-
34
- drill {
35
- path 'fuel'
36
- label :fuel
37
- name 'Fuel Type'
38
- }
39
- drill {
40
- path 'size'
41
- label :size
42
- name 'Vehicle Size'
43
- }
44
- profile {
45
- path 'distance'
46
- label :distance
47
- name 'Distance Driven'
48
- }
49
- output {
50
- label :co2
51
- path :default
52
- name 'Carbon Dioxide'
53
- }
54
- }
55
- }