purchase 1.0.8 → 1.0.9
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.
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
Feature: Purchase Characterizations
|
|
2
|
+
The purchase model should be characterized
|
|
3
|
+
|
|
4
|
+
Scenario: Merchant category characteristic
|
|
5
|
+
Given a purchase has "merchant_category.mcc" of "2222"
|
|
6
|
+
And it has "cost" of "100"
|
|
7
|
+
When emissions are calculated
|
|
8
|
+
Then the "merchant_category" characteristic should be displayed as "Fantasy creature product shops"
|
|
9
|
+
|
|
10
|
+
Scenario: Merchant category industries characteristic
|
|
11
|
+
Given a purchase has "merchant_category.mcc" of "2222"
|
|
12
|
+
And it has "cost" of "100"
|
|
13
|
+
When emissions are calculated
|
|
14
|
+
Then the "merchant_category_industries" characteristic should be displayed as "2 merchant categories"
|
|
15
|
+
|
|
16
|
+
Scenario: Trade industry ratios characteristic
|
|
17
|
+
Given a purchase has "merchant_category.mcc" of "2222"
|
|
18
|
+
And it has "cost" of "100"
|
|
19
|
+
When emissions are calculated
|
|
20
|
+
Then the "trade_industry_ratios" characteristic should be displayed as "1 trade industry ratio"
|
|
21
|
+
|
|
22
|
+
Scenario: Non-trade industry ratios characteristic
|
|
23
|
+
Given a purchase has "merchant_category.mcc" of "2222"
|
|
24
|
+
And it has "cost" of "100"
|
|
25
|
+
When emissions are calculated
|
|
26
|
+
Then the "non_trade_industry_ratios" characteristic should be displayed as "1 non-trade industry ratio"
|
|
27
|
+
|
|
28
|
+
Scenario: Sector direct requirements characteristic
|
|
29
|
+
Given a purchase has "merchant_category.mcc" of "2222"
|
|
30
|
+
And it has "cost" of "100"
|
|
31
|
+
When emissions are calculated
|
|
32
|
+
Then the "sector_direct_requirements" characteristic should be displayed as "6x6 sector direct requirements matrix"
|
|
33
|
+
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Then /^the "(.*)" characteristic should be displayed as "(.*)"$/ do |name, value|
|
|
2
|
+
name = name.to_sym
|
|
3
|
+
all_chars = @activity.characteristics.merge @activity.deliberations[:emission].characteristics
|
|
4
|
+
@activity.class.characteristics[name].display(all_chars).should == value
|
|
5
|
+
end
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
require 'characterizable'
|
|
2
|
+
require 'action_view'
|
|
2
3
|
|
|
3
4
|
module BrighterPlanet
|
|
4
5
|
module Purchase
|
|
5
6
|
module Characterization
|
|
7
|
+
extend ActionView::Helpers::TextHelper
|
|
8
|
+
|
|
6
9
|
def self.included(base)
|
|
7
10
|
base.send :include, Characterizable
|
|
8
11
|
base.characterize do
|
|
@@ -11,8 +14,53 @@ module BrighterPlanet
|
|
|
11
14
|
has :tax # tax portion of purchase
|
|
12
15
|
has :date
|
|
13
16
|
has :merchant
|
|
14
|
-
has :merchant_category
|
|
15
17
|
has :industry
|
|
18
|
+
|
|
19
|
+
has :merchant_category do
|
|
20
|
+
displays { |mc| mc.name }
|
|
21
|
+
end
|
|
22
|
+
has :merchant_category_industries do
|
|
23
|
+
displays { |mci| pluralize(mci.count, 'merchant category') }
|
|
24
|
+
end
|
|
25
|
+
has :trade_industry_ratios do
|
|
26
|
+
displays { |tir| pluralize(tir.count, 'trade industry ratio') }
|
|
27
|
+
end
|
|
28
|
+
has :non_trade_industry_ratios do
|
|
29
|
+
displays { |ntir| pluralize(ntir.count, 'non-trade industry ratio') }
|
|
30
|
+
end
|
|
31
|
+
has :product_line_ratios do
|
|
32
|
+
displays { |plr| pluralize(plr.count, 'product line ratio') }
|
|
33
|
+
end
|
|
34
|
+
has :product_line_industry_product_ratios do
|
|
35
|
+
displays { |plipr| pluralize(plipr.count, 'product line industry product ratio') }
|
|
36
|
+
end
|
|
37
|
+
has :industry_product_ratios do
|
|
38
|
+
displays { |ipr| pluralize(ipr.count, 'industry product ratio') }
|
|
39
|
+
end
|
|
40
|
+
has :industry_ratios do
|
|
41
|
+
displays { |ir| pluralize(ir.count, 'industry ratio') }
|
|
42
|
+
end
|
|
43
|
+
has :industry_sector_ratios do
|
|
44
|
+
displays { |isr| pluralize(isr.count, 'industry sector ratio') }
|
|
45
|
+
end
|
|
46
|
+
has :industry_sector_shares do
|
|
47
|
+
displays { |isr| pluralize(isr.count, 'industry sector share') }
|
|
48
|
+
end
|
|
49
|
+
has :sector_shares do
|
|
50
|
+
displays { |isr| "#{isr.size}-element sector shares vector" }
|
|
51
|
+
end
|
|
52
|
+
has :sector_direct_requirements do
|
|
53
|
+
displays { |sdr| "#{sdr.row_size}x#{sdr.column_size} sector direct requirements matrix" }
|
|
54
|
+
end
|
|
55
|
+
has :economic_flows do
|
|
56
|
+
displays { |ef| "#{ef.size}-element economic flows vector" }
|
|
57
|
+
end
|
|
58
|
+
has :impact_vectors do
|
|
59
|
+
displays { |iv| "#{iv.row_size}x#{iv.column_size} impact vector" }
|
|
60
|
+
end
|
|
61
|
+
has :impacts do
|
|
62
|
+
displays { |i| "#{i.size}-element impacts vector" }
|
|
63
|
+
end
|
|
16
64
|
end
|
|
17
65
|
base.add_implicit_characteristics
|
|
18
66
|
end
|
metadata
CHANGED
|
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
|
5
5
|
segments:
|
|
6
6
|
- 1
|
|
7
7
|
- 0
|
|
8
|
-
-
|
|
9
|
-
version: 1.0.
|
|
8
|
+
- 9
|
|
9
|
+
version: 1.0.9
|
|
10
10
|
platform: ruby
|
|
11
11
|
authors:
|
|
12
12
|
- Andy Rossmeissl
|
|
@@ -18,7 +18,7 @@ autorequire:
|
|
|
18
18
|
bindir: bin
|
|
19
19
|
cert_chain: []
|
|
20
20
|
|
|
21
|
-
date: 2010-
|
|
21
|
+
date: 2010-11-03 00:00:00 -04:00
|
|
22
22
|
default_executable:
|
|
23
23
|
dependencies:
|
|
24
24
|
- !ruby/object:Gem::Dependency
|
|
@@ -131,15 +131,30 @@ dependencies:
|
|
|
131
131
|
- !ruby/object:Gem::Version
|
|
132
132
|
segments:
|
|
133
133
|
- 0
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
version: 0.
|
|
134
|
+
- 2
|
|
135
|
+
- 3
|
|
136
|
+
version: 0.2.3
|
|
137
137
|
type: :development
|
|
138
138
|
prerelease: false
|
|
139
139
|
version_requirements: *id008
|
|
140
140
|
- !ruby/object:Gem::Dependency
|
|
141
|
-
name:
|
|
141
|
+
name: actionpack
|
|
142
142
|
requirement: &id009 !ruby/object:Gem::Requirement
|
|
143
|
+
none: false
|
|
144
|
+
requirements:
|
|
145
|
+
- - ~>
|
|
146
|
+
- !ruby/object:Gem::Version
|
|
147
|
+
segments:
|
|
148
|
+
- 3
|
|
149
|
+
- 0
|
|
150
|
+
- 1
|
|
151
|
+
version: 3.0.1
|
|
152
|
+
type: :runtime
|
|
153
|
+
prerelease: false
|
|
154
|
+
version_requirements: *id009
|
|
155
|
+
- !ruby/object:Gem::Dependency
|
|
156
|
+
name: earth
|
|
157
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
|
143
158
|
none: false
|
|
144
159
|
requirements:
|
|
145
160
|
- - ~>
|
|
@@ -151,10 +166,10 @@ dependencies:
|
|
|
151
166
|
version: 0.2.4
|
|
152
167
|
type: :runtime
|
|
153
168
|
prerelease: false
|
|
154
|
-
version_requirements: *
|
|
169
|
+
version_requirements: *id010
|
|
155
170
|
- !ruby/object:Gem::Dependency
|
|
156
171
|
name: emitter
|
|
157
|
-
requirement: &
|
|
172
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
|
158
173
|
none: false
|
|
159
174
|
requirements:
|
|
160
175
|
- - ~>
|
|
@@ -162,14 +177,14 @@ dependencies:
|
|
|
162
177
|
segments:
|
|
163
178
|
- 0
|
|
164
179
|
- 1
|
|
165
|
-
-
|
|
166
|
-
version: 0.1.
|
|
180
|
+
- 9
|
|
181
|
+
version: 0.1.9
|
|
167
182
|
type: :runtime
|
|
168
183
|
prerelease: false
|
|
169
|
-
version_requirements: *
|
|
184
|
+
version_requirements: *id011
|
|
170
185
|
- !ruby/object:Gem::Dependency
|
|
171
186
|
name: fastercsv
|
|
172
|
-
requirement: &
|
|
187
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
|
173
188
|
none: false
|
|
174
189
|
requirements:
|
|
175
190
|
- - ~>
|
|
@@ -181,10 +196,10 @@ dependencies:
|
|
|
181
196
|
version: 1.5.3
|
|
182
197
|
type: :runtime
|
|
183
198
|
prerelease: false
|
|
184
|
-
version_requirements: *
|
|
199
|
+
version_requirements: *id012
|
|
185
200
|
- !ruby/object:Gem::Dependency
|
|
186
201
|
name: slither
|
|
187
|
-
requirement: &
|
|
202
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
|
188
203
|
none: false
|
|
189
204
|
requirements:
|
|
190
205
|
- - ~>
|
|
@@ -196,7 +211,7 @@ dependencies:
|
|
|
196
211
|
version: 0.99.3
|
|
197
212
|
type: :runtime
|
|
198
213
|
prerelease: false
|
|
199
|
-
version_requirements: *
|
|
214
|
+
version_requirements: *id013
|
|
200
215
|
description: A software model in Ruby for the greenhouse gas emissions of a purchase
|
|
201
216
|
email: seamus@brighterplanet.com
|
|
202
217
|
executables: []
|
|
@@ -219,10 +234,12 @@ files:
|
|
|
219
234
|
- lib/test_support/purchase_record.rb
|
|
220
235
|
- lib/test_support/test_impact_vectors_adapter.rb
|
|
221
236
|
- lib/test_support/test_sector_direct_requirements_adapter.rb
|
|
237
|
+
- features/support/matrix_ext.rb
|
|
238
|
+
- features/support/env.rb
|
|
222
239
|
- features/step_definitions/matrix_steps.rb
|
|
223
240
|
- features/step_definitions/purchase_steps.rb
|
|
224
|
-
- features/
|
|
225
|
-
- features/
|
|
241
|
+
- features/step_definitions/characteristic_steps.rb
|
|
242
|
+
- features/purchase_characterization.feature
|
|
226
243
|
- features/purchase_committees.feature
|
|
227
244
|
- features/purchase_emissions.feature
|
|
228
245
|
has_rdoc: true
|
|
@@ -239,7 +256,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
239
256
|
requirements:
|
|
240
257
|
- - ">="
|
|
241
258
|
- !ruby/object:Gem::Version
|
|
242
|
-
hash:
|
|
259
|
+
hash: -1011847695
|
|
243
260
|
segments:
|
|
244
261
|
- 0
|
|
245
262
|
version: "0"
|
|
@@ -259,13 +276,15 @@ signing_key:
|
|
|
259
276
|
specification_version: 3
|
|
260
277
|
summary: A carbon model
|
|
261
278
|
test_files:
|
|
279
|
+
- features/support/matrix_ext.rb
|
|
280
|
+
- features/support/env.rb
|
|
262
281
|
- features/step_definitions/matrix_steps.rb
|
|
263
282
|
- features/step_definitions/purchase_steps.rb
|
|
264
|
-
- features/
|
|
265
|
-
- features/
|
|
283
|
+
- features/step_definitions/characteristic_steps.rb
|
|
284
|
+
- features/purchase_characterization.feature
|
|
266
285
|
- features/purchase_committees.feature
|
|
267
286
|
- features/purchase_emissions.feature
|
|
287
|
+
- lib/test_support/test_sector_direct_requirements_adapter.rb
|
|
268
288
|
- lib/test_support/db/schema.rb
|
|
269
289
|
- lib/test_support/purchase_record.rb
|
|
270
290
|
- lib/test_support/test_impact_vectors_adapter.rb
|
|
271
|
-
- lib/test_support/test_sector_direct_requirements_adapter.rb
|