purchase 1.0.0 → 1.0.1
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.
|
@@ -133,25 +133,26 @@ Feature: Purchase Committee Calculations
|
|
|
133
133
|
Scenario Outline: Sector shares committee from industry and product line shares
|
|
134
134
|
Given a purchase emitter
|
|
135
135
|
And a characteristic "merchant_category.mcc" of "<mcc>"
|
|
136
|
+
And a characteristic "adjusted_cost" of "1"
|
|
136
137
|
When the "merchant_categories_industries" committee is calculated
|
|
137
138
|
And the "industry_shares" committee is calculated
|
|
138
139
|
And the "product_line_shares" committee is calculated
|
|
139
140
|
And the "industries_sectors" committee is calculated
|
|
140
141
|
And the "sector_shares" committee is calculated
|
|
141
|
-
Then the conclusion of the committee should be a vector with values "<26>,<A>,<B>,<C>,<D>"
|
|
142
|
+
Then the conclusion of the committee should be a vector with values "<1>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,<18>,<19>,<2>,<20>,<21>,<22>,<23>,<24>,<25>,<26>,<3>,<4>,<44100>,<44102>,<44103>,<44104>,<44105>,<5>,<6>,<7>,<8>,<9>,<A>,<B>,<C>,<D>"
|
|
142
143
|
Examples:
|
|
143
|
-
|mcc
|
|
144
|
-
|
|
|
145
|
-
|9999| 0
|
|
144
|
+
| mcc|1|10|11|12|13|14|15|16|17|18|19|2|20|21|22|23|24|25| 26|3|4|44100|44102|44103|44104|44105|5|6|7|8|9| A| B| C| D|
|
|
145
|
+
|5812|0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0| 0| 0| 0| 0| 0| 0|1.0|0|0| 0| 0| 0| 0| 0|0|0|0|0|0| 0| 0| 0| 0|
|
|
146
|
+
|9999|0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0| 0| 0| 0| 0| 0| 0| 0|0|0| 0| 0| 0| 0| 0|0|0|0|0|0|0.1875|0.1875|0.0625|0.0625|
|
|
146
147
|
|
|
147
148
|
Scenario: Sector direct requirements
|
|
148
149
|
Given a purchase emitter
|
|
149
150
|
When the "sector_direct_requirements" committee is calculated
|
|
150
|
-
Then the conclusion of the committee should be a square matrix with "
|
|
151
|
+
Then the conclusion of the committee should be a square matrix with "35" rows and columns
|
|
151
152
|
|
|
152
|
-
Scenario
|
|
153
|
+
Scenario: Economic flows from merchant category
|
|
153
154
|
Given a purchase emitter
|
|
154
|
-
And a characteristic "merchant_category.mcc" of "
|
|
155
|
+
And a characteristic "merchant_category.mcc" of "5812"
|
|
155
156
|
And a characteristic "date" of "2010-08-01"
|
|
156
157
|
And a characteristic "cost" of "100"
|
|
157
158
|
When the "adjusted_cost" committee is calculated
|
|
@@ -162,14 +163,7 @@ Feature: Purchase Committee Calculations
|
|
|
162
163
|
And the "sector_shares" committee is calculated
|
|
163
164
|
And the "sector_direct_requirements" committee is calculated
|
|
164
165
|
And the "economic_flows" committee is calculated
|
|
165
|
-
Then the conclusion of the committee should be a vector with
|
|
166
|
-
Examples:
|
|
167
|
-
|mcc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26| 44100| 44101| 44102| 44103| 44104| 44105|
|
|
168
|
-
|3504|192.42878|190.54222|245.14686|242.78968|295.60384|292.81512|346.78566|404.30912|400.59986|465.29127|528.62004|482.35635|466.74323|468.52286|501.11032|468.42401|424.06313|393.05155|506.82714|413.31948|408.00708|380.41657|307.66401|449.85893|372.82038|836.30767|931.90473|897.58914|713.25686|712.54645|62108.49751|64007.92880|
|
|
169
|
-
|5111|217.60851|188.33439|240.23898|246.58722|289.15336|286.35133|338.69552|401.57566|392.30640|454.36248|510.67639|465.48678|453.29908|452.07535|479.07926|433.58397|390.81556|366.40189|414.39616|398.88015|410.43100|392.65385|319.38796|469.25412|389.47876|878.05118|979.36178|943.33243|749.79844|749.05163|65344.72371|67343.77541|
|
|
170
|
-
|5172|183.87087|182.06822|234.24153|231.98921|282.45806|279.79336|331.44594|386.67305|383.12559|443.95827|505.08363|460.93482|446.66308|449.71238|471.64803|451.80455|409.65115|384.25908|428.91553|462.17754|412.89024|378.40441|304.83450|439.98234|360.24151|801.81579|892.45620|859.55691|682.82806|682.14796|59460.87972|61279.36469|
|
|
171
|
-
|5732|183.11569|181.32043|231.15559|228.93294|278.83247|276.20197|324.59174|375.74672|372.29950|465.95439|483.12194|455.69859|419.53135|417.80920|435.45569|407.12840|367.62744|345.95575|392.16116|378.09709|388.34638|373.09854|303.76218|440.33643|377.80083|806.53673|894.12118|861.03177|683.26595|682.58541|59509.68769|61329.79292|
|
|
172
|
-
|5812|171.55784|169.87590|218.54218|216.44081|263.51360|261.02763|309.15838|360.69762|357.38846|414.47227|471.13666|429.92363|416.23221|419.67110|442.44048|419.01368|379.60402|362.16497|413.97706|402.64335|419.92739|407.41210|332.40488|496.30587|413.33528|951.16340|982.78937|943.83794|734.26687|733.53553|64092.82756|66054.79463|
|
|
166
|
+
Then the conclusion of the committee should be a vector with "35" items
|
|
173
167
|
|
|
174
168
|
Scenario Outline: Impacts committee from economic flows
|
|
175
169
|
Given a purchase emitter
|
|
@@ -186,11 +180,11 @@ Feature: Purchase Committee Calculations
|
|
|
186
180
|
And the "economic_flows" committee is calculated
|
|
187
181
|
And the "impact_vectors" committee is calculated
|
|
188
182
|
And the "impacts" committee is calculated
|
|
189
|
-
Then the conclusion of the committee should be a vector with values "<1>,<
|
|
183
|
+
Then the conclusion of the committee should be a vector with values "<1>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,<18>,<19>,<2>,<20>,<21>,<22>,<23>,<24>,<25>,<26>,<3>,<4>,<44100>,<44102>,<44103>,<44104>,<44105>,<5>,<6>,<7>,<8>,<9>,<A>,<B>,<C>,<D>"
|
|
190
184
|
Examples:
|
|
191
|
-
|mcc
|
|
192
|
-
|3504|
|
|
193
|
-
|5111|
|
|
194
|
-
|5172|
|
|
195
|
-
|5732|
|
|
196
|
-
|5812|
|
|
185
|
+
| mcc|1|10|11|12|13|14|15|16|17|18|19|2|20|21|22|23|24|25| 26|3|4|44100|44102|44103|44104|44105|5|6|7|8|9| A| B| C| D|
|
|
186
|
+
|3504| 34.20759 | 22.83238 | 21.58704 | 71.66304 | 75.34399 | 43.05229 | 44.19605 | 24.59386 | 31.74734 | 34.23285 | 38.90812 | 50.97981 | 42.48382 | 38.68232 | 7.06766 | 14.44985 | 11.89899 | 7.95409 | 24.56535 | 75.44609 | 41.91640 | 21.38395 | 3.61236 | 20.87780 | 20.49698 | 5.33446 | 0.28203 | 2.65319 | 3.94288 | 4.60106 | 71.40280 | 24.44457 | 24.44457 | 24.56517 | 21.88041 |
|
|
187
|
+
|5111| 43.11882 | 14.80914 | 11.03291 | 36.54622 | 46.29633 | 26.17054 | 32.10542 | 13.52681 | 17.39109 | 19.28008 | 12.79735 | 29.46601 | 26.80161 | 25.34407 | 4.74774 | 9.84523 | 8.12740 | 5.76849 | 17.87935 | 55.05595 | 39.96103 | 15.46327 | 2.35871 | 13.67770 | 13.18761 | 4.14058 | 2.01647 | 4.80043 | 6.27992 | 12.36538 | 79.88824 | 27.42322 | 27.42322 | 27.48354 | 24.08718 |
|
|
188
|
+
|5172| 35.58872 | 23.75424 | 19.71380 | 65.44441 | 70.92181 | 40.52542 | 46.99530 | 26.65128 | 34.40320 | 37.53618 | 24.68486 | 55.96723 | 82.58029 | 48.39434 | 8.55823 | 16.05688 | 13.17485 | 7.93908 | 24.20801 | 72.40388 | 39.79780 | 20.18866 | 3.40454 | 19.65695 | 19.28569 | 4.97658 | 0.23634 | 2.57416 | 3.79738 | 4.40459 | 68.84678 | 23.57193 | 23.57193 | 23.68206 | 20.88125 |
|
|
189
|
+
|5732| 23.82496 | 38.07691 | 13.11535 | 67.43841 | 47.01503 | 26.86485 | 28.54448 | 16.48957 | 21.28581 | 23.75176 | 16.05288 | 36.48537 | 34.13793 | 33.78076 | 6.37445 | 13.50597 | 11.33464 | 10.34780 | 23.80141 | 71.08195 | 37.57537 | 19.56198 | 3.32479 | 19.24582 | 18.92542 | 4.96435 | 0.29751 | 2.39136 | 3.54334 | 4.20360 | 64.55618 | 22.09769 | 22.09769 | 22.17096 | 20.29572 |
|
|
190
|
+
|5812| 34.59232 | 23.08918 | 19.48251 | 64.67657 | 70.88026 | 40.50168 | 43.64568 | 25.42384 | 32.81874 | 37.49322 | 25.83877 | 58.82688 | 56.29772 | 54.71279 | 11.61328 | 25.17174 | 21.33815 | 14.31873 | 81.35713 | 123.84802 | 53.98569 | 22.37338 | 3.51343 | 20.06660 | 19.35014 | 4.96561 | 0.24528 | 2.52186 | 3.73916 | 4.34106 | 67.67328 | 23.16928 | 23.16928 | 23.27813 | 20.55662 |
|
|
@@ -4,29 +4,29 @@ Feature: Purchase Emissions Calculations
|
|
|
4
4
|
Scenario: Calculations starting from nothing
|
|
5
5
|
Given a purchase has nothing
|
|
6
6
|
When emissions are calculated
|
|
7
|
-
Then the emission value should be within "0.001" kgs of "
|
|
7
|
+
Then the emission value should be within "0.001" kgs of "756.667"
|
|
8
8
|
|
|
9
9
|
Scenario: Calculations starting from purchase amount
|
|
10
10
|
Given a purchase has "purchase_amount" of "107.11"
|
|
11
11
|
When emissions are calculated
|
|
12
|
-
Then the emission value should be within "0.001" kgs of "
|
|
12
|
+
Then the emission value should be within "0.001" kgs of "756.667"
|
|
13
13
|
|
|
14
14
|
Scenario: Calculations starting from date
|
|
15
15
|
Given a purchase has "date" of "2010-07-28"
|
|
16
16
|
When emissions are calculated
|
|
17
|
-
Then the emission value should be within "0.001" kgs of "
|
|
17
|
+
Then the emission value should be within "0.001" kgs of "756.667"
|
|
18
18
|
|
|
19
19
|
Scenario Outline: Calculations starting from a merchant
|
|
20
20
|
Given a purchase has "merchant.id" of "<id>"
|
|
21
21
|
When emissions are calculated
|
|
22
22
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
|
23
23
|
Examples:
|
|
24
|
-
| id | emission
|
|
25
|
-
| 1 |
|
|
26
|
-
| 2 |
|
|
27
|
-
| 3 |
|
|
28
|
-
| 4 |
|
|
29
|
-
| 5 |
|
|
24
|
+
| id | emission |
|
|
25
|
+
| 1 | 756.667 |
|
|
26
|
+
| 2 | 828.562 |
|
|
27
|
+
| 3 | 1158.876 |
|
|
28
|
+
| 4 | 1007.731 |
|
|
29
|
+
| 5 | 1034.378 |
|
|
30
30
|
|
|
31
31
|
Scenario Outline: Calculations starting from a merchant with purchase amount
|
|
32
32
|
Given a purchase has "merchant.id" of "<id>"
|
|
@@ -34,12 +34,12 @@ Feature: Purchase Emissions Calculations
|
|
|
34
34
|
When emissions are calculated
|
|
35
35
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
|
36
36
|
Examples:
|
|
37
|
-
| id | amount | emission
|
|
38
|
-
| 1 | 107.11 |
|
|
39
|
-
| 2 | 107.11 |
|
|
40
|
-
| 3 | 107.11 |
|
|
41
|
-
| 4 | 107.11 |
|
|
42
|
-
| 5 | 107.11 |
|
|
37
|
+
| id | amount | emission |
|
|
38
|
+
| 1 | 107.11 | 756.667 |
|
|
39
|
+
| 2 | 107.11 | 828.562 |
|
|
40
|
+
| 3 | 107.11 | 1158.876 |
|
|
41
|
+
| 4 | 107.11 | 1007.731 |
|
|
42
|
+
| 5 | 107.11 | 1034.378 |
|
|
43
43
|
|
|
44
44
|
Scenario Outline: Calculations starting from a merchant with purchase amount and date
|
|
45
45
|
Given a purchase has "merchant.id" of "<id>"
|
|
@@ -48,12 +48,12 @@ Feature: Purchase Emissions Calculations
|
|
|
48
48
|
When emissions are calculated
|
|
49
49
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
|
50
50
|
Examples:
|
|
51
|
-
| id | amount | date | emission
|
|
52
|
-
| 1 | 107.11 | 2010-07-28 |
|
|
53
|
-
| 2 | 107.11 | 2010-07-28 |
|
|
54
|
-
| 3 | 107.11 | 2010-07-28 |
|
|
55
|
-
| 4 | 107.11 | 2010-07-28 |
|
|
56
|
-
| 5 | 107.11 | 2010-07-28 |
|
|
51
|
+
| id | amount | date | emission |
|
|
52
|
+
| 1 | 107.11 | 2010-07-28 | 756.667 |
|
|
53
|
+
| 2 | 107.11 | 2010-07-28 | 828.562 |
|
|
54
|
+
| 3 | 107.11 | 2010-07-28 | 1158.876 |
|
|
55
|
+
| 4 | 107.11 | 2010-07-28 | 1007.731 |
|
|
56
|
+
| 5 | 107.11 | 2010-07-28 | 1034.378 |
|
|
57
57
|
|
|
58
58
|
Scenario Outline: Calculations starting from a merchant with purchase amount, date, and tax
|
|
59
59
|
Given a purchase has "merchant.id" of "<id>"
|
|
@@ -63,12 +63,12 @@ Feature: Purchase Emissions Calculations
|
|
|
63
63
|
When emissions are calculated
|
|
64
64
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
|
65
65
|
Examples:
|
|
66
|
-
| id | amount | tax | date | emission
|
|
67
|
-
| 1 | 108.00 | 8.00 | 2010-07-28 |
|
|
68
|
-
| 2 | 108.00 | 8.00 | 2010-07-28 |
|
|
69
|
-
| 3 | 108.00 | 8.00 | 2010-07-28 |
|
|
70
|
-
| 4 | 108.00 | 8.00 | 2010-07-28 |
|
|
71
|
-
| 5 | 108.00 | 8.00 | 2010-07-28 |
|
|
66
|
+
| id | amount | tax | date | emission |
|
|
67
|
+
| 1 | 108.00 | 8.00 | 2010-07-28 | 756.667 |
|
|
68
|
+
| 2 | 108.00 | 8.00 | 2010-07-28 | 828.562 |
|
|
69
|
+
| 3 | 108.00 | 8.00 | 2010-07-28 | 1158.876 |
|
|
70
|
+
| 4 | 108.00 | 8.00 | 2010-07-28 | 1007.731 |
|
|
71
|
+
| 5 | 108.00 | 8.00 | 2010-07-28 | 1034.378 |
|
|
72
72
|
|
|
73
73
|
Scenario Outline: Calculations starting from a merchant category
|
|
74
74
|
Given a purchase has "merchant_category.mcc" of "<mcc>"
|
|
@@ -77,12 +77,12 @@ Feature: Purchase Emissions Calculations
|
|
|
77
77
|
When emissions are calculated
|
|
78
78
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
|
79
79
|
Examples:
|
|
80
|
-
| mcc | cost | date | emission
|
|
81
|
-
| 5111 | 100.00 | 2010-07-28 |
|
|
82
|
-
| 5732 | 100.00 | 2010-07-28 |
|
|
83
|
-
| 5812 | 100.00 | 2010-07-28 |
|
|
84
|
-
| 3504 | 100.00 | 2010-07-28 |
|
|
85
|
-
| 5172 | 100.00 | 2010-07-28 |
|
|
80
|
+
| mcc | cost | date | emission |
|
|
81
|
+
| 5111 | 100.00 | 2010-07-28 | 756.667 |
|
|
82
|
+
| 5732 | 100.00 | 2010-07-28 | 828.562 |
|
|
83
|
+
| 5812 | 100.00 | 2010-07-28 | 1158.876 |
|
|
84
|
+
| 3504 | 100.00 | 2010-07-28 | 1007.731 |
|
|
85
|
+
| 5172 | 100.00 | 2010-07-28 | 1034.378 |
|
|
86
86
|
|
|
87
87
|
Scenario Outline: Calculations starting from industry
|
|
88
88
|
Given a purchase has "naics_code" of "<naics>"
|
|
@@ -92,12 +92,12 @@ Feature: Purchase Emissions Calculations
|
|
|
92
92
|
Then the emission value should be within "0.001" kgs of "<emission>"
|
|
93
93
|
Examples:
|
|
94
94
|
| naics | cost | date | emission |
|
|
95
|
-
| 45321 | 100.00 | 2010-07-28 |
|
|
96
|
-
| 443112 | 100.00 | 2010-07-28 |
|
|
97
|
-
| 72211 | 100.00 | 2010-07-28 |
|
|
98
|
-
| 72111 | 100.00 | 2010-07-28 |
|
|
99
|
-
| 32411 | 100.00 | 2010-07-28 |
|
|
100
|
-
| 324121 | 100.00 | 2010-07-28 |
|
|
101
|
-
| 324122 | 100.00 | 2010-07-28 |
|
|
102
|
-
| 324191 | 100.00 | 2010-07-28 |
|
|
103
|
-
| 324199 | 100.00 | 2010-07-28 |
|
|
95
|
+
| 45321 | 100.00 | 2010-07-28 | 756.667 |
|
|
96
|
+
| 443112 | 100.00 | 2010-07-28 | 828.562 |
|
|
97
|
+
| 72211 | 100.00 | 2010-07-28 | 1158.876 |
|
|
98
|
+
| 72111 | 100.00 | 2010-07-28 | 1007.731 |
|
|
99
|
+
| 32411 | 100.00 | 2010-07-28 | 1029.897 |
|
|
100
|
+
| 324121 | 100.00 | 2010-07-28 | 1032.748 |
|
|
101
|
+
| 324122 | 100.00 | 2010-07-28 | 1029.932 |
|
|
102
|
+
| 324191 | 100.00 | 2010-07-28 | 1059.298 |
|
|
103
|
+
| 324199 | 100.00 | 2010-07-28 | 1087.243 |
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
Then /^the conclusion of the committee should be a vector with "(.*)" items$/ do |count|
|
|
2
|
+
vector = @report.conclusion
|
|
3
|
+
vector.size.should == count.to_i
|
|
4
|
+
end
|
|
5
|
+
|
|
1
6
|
Then /^the conclusion of the committee should be a vector with value "(.*)" and position for key "(.*)"$/ do |value, key|
|
|
2
7
|
vector = @report.conclusion
|
|
3
8
|
position = BrighterPlanet::Purchase.key_map.index key
|
|
@@ -15,7 +20,5 @@ Then /^the conclusion of the committee should be a vector with values "(.*)"$/ d
|
|
|
15
20
|
vector = @report.conclusion
|
|
16
21
|
vector = vector.row(0) if vector.is_a? Matrix #some vectors are single-row matrices
|
|
17
22
|
|
|
18
|
-
|
|
19
|
-
vector[index].should be_close(column_values[index].to_f, 0.00001)
|
|
20
|
-
end
|
|
23
|
+
vector.should have_column_values(column_values)
|
|
21
24
|
end
|
|
@@ -36,3 +36,31 @@ class Vector
|
|
|
36
36
|
str
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
|
+
|
|
40
|
+
RSpec::Matchers.define :have_column_values do |_expected_|
|
|
41
|
+
match do |actual|
|
|
42
|
+
ok = true
|
|
43
|
+
BrighterPlanet::Purchase.key_map.each_with_index do |key, index|
|
|
44
|
+
ok = ok && (actual[index] - _expected_[index].to_f).abs < 0.00001
|
|
45
|
+
end
|
|
46
|
+
ok
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
failure_message_for_should do |actual|
|
|
50
|
+
message = nil
|
|
51
|
+
BrighterPlanet::Purchase.key_map.each_with_index do |key, index|
|
|
52
|
+
unless (actual[index] - _expected_[index].to_f).abs < 0.00001
|
|
53
|
+
message = "expected vector at position #{key} to be #{_expected_[index]} +/- (< 0.00001), got #{actual[index]}:"
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
message
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
failure_message_for_should_not do |actual|
|
|
60
|
+
"expected #{_expected_} +/- (< #{_delta_}), got #{actual}"
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
description do
|
|
64
|
+
"be close to #{_expected_} (within +- #{_delta_})"
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -13,44 +13,48 @@ module BrighterPlanet
|
|
|
13
13
|
|
|
14
14
|
def data
|
|
15
15
|
matrix_text = <<-MATRIX
|
|
16
|
-
| X| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26|44100|
|
|
17
|
-
| 1|0.81| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
18
|
-
| 2| 0|0.546| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
19
|
-
| 3| 0| 0|0.358| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
20
|
-
| 4| 0| 0| 0|1.2| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
21
|
-
| 5| 0| 0| 0| 0|1.08| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
22
|
-
| 6| 0| 0| 0| 0| 0|0.623| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
23
|
-
| 7| 0| 0| 0| 0| 0| 0|0.567| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
24
|
-
| 8| 0| 0| 0| 0| 0| 0| 0|0.284| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
25
|
-
| 9| 0| 0| 0| 0| 0| 0| 0| 0|0.37| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
26
|
-
| 10| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.362| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
27
|
-
| 11| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.22| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
28
|
-
| 12| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.549| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
29
|
-
| 13| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.544| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
30
|
-
| 14| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.535| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
31
|
-
| 15| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.101| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
32
|
-
| 16| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.245| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
33
|
-
| 17| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.23| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
34
|
-
| 18| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.186| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
35
|
-
| 19| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.559| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
36
|
-
| 20| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|2.0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
37
|
-
| 21| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.3| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
38
|
-
| 22| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.9| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
39
|
-
| 23| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.2| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
40
|
-
| 24| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.2| 0| 0| 0| 0| 0| 0| 0|
|
|
41
|
-
| 25| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.6| 0| 0| 0| 0| 0| 0|
|
|
42
|
-
| 26| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.8| 0| 0| 0| 0| 0|
|
|
43
|
-
|44100| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0.7| 0| 0| 0| 0|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
16
|
+
| X| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23| 24| 25| 26|44100|44102|44103|44104|44105| A| B| C| D|
|
|
17
|
+
| 1|0.81| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
18
|
+
| 2| 0|0.546| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
19
|
+
| 3| 0| 0|0.358| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
20
|
+
| 4| 0| 0| 0|1.2| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
21
|
+
| 5| 0| 0| 0| 0|1.08| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
22
|
+
| 6| 0| 0| 0| 0| 0|0.623| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
23
|
+
| 7| 0| 0| 0| 0| 0| 0|0.567| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
24
|
+
| 8| 0| 0| 0| 0| 0| 0| 0|0.284| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
25
|
+
| 9| 0| 0| 0| 0| 0| 0| 0| 0|0.37| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
26
|
+
| 10| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.362| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
27
|
+
| 11| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.22| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
28
|
+
| 12| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.549| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
29
|
+
| 13| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.544| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
30
|
+
| 14| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.535| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
31
|
+
| 15| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.101| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
32
|
+
| 16| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.245| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
33
|
+
| 17| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.23| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
34
|
+
| 18| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.186| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
35
|
+
| 19| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.559| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
36
|
+
| 20| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|2.0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
37
|
+
| 21| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.3| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
38
|
+
| 22| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.9| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
39
|
+
| 23| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.2| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
40
|
+
| 24| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.2| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
41
|
+
| 25| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|1.6| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
42
|
+
| 26| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.8| 0| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
43
|
+
|44100| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0.7| 0| 0| 0| 0| 0| 0| 0| 0|
|
|
44
|
+
|44102| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0.7| 0| 0| 0| 0| 0| 0| 0|
|
|
45
|
+
|44103| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 1.2| 0| 0| 0| 0| 0| 0|
|
|
46
|
+
|44104| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 1.4| 0| 0| 0| 0| 0|
|
|
47
|
+
|44105| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0.3| 0| 0| 0| 0|
|
|
48
|
+
| A| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.1| 0| 0| 0|
|
|
49
|
+
| B| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.1| 0| 0|
|
|
50
|
+
| C| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.1| 0|
|
|
51
|
+
| D| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0|0.1|
|
|
52
|
+
|
|
49
53
|
MATRIX
|
|
50
54
|
lines = matrix_text.split(/\n/)
|
|
51
55
|
lines.shift
|
|
52
56
|
lines.map do |line|
|
|
53
|
-
row = line.scan(/[
|
|
57
|
+
row = line.scan(/[^\s^|]+/).map(&:to_f)
|
|
54
58
|
row.shift
|
|
55
59
|
row
|
|
56
60
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: purchase
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 21
|
|
5
5
|
prerelease: false
|
|
6
6
|
segments:
|
|
7
7
|
- 1
|
|
8
8
|
- 0
|
|
9
|
-
-
|
|
10
|
-
version: 1.0.
|
|
9
|
+
- 1
|
|
10
|
+
version: 1.0.1
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Andy Rossmeissl
|
|
@@ -19,7 +19,7 @@ autorequire:
|
|
|
19
19
|
bindir: bin
|
|
20
20
|
cert_chain: []
|
|
21
21
|
|
|
22
|
-
date: 2010-09-
|
|
22
|
+
date: 2010-09-20 00:00:00 -04:00
|
|
23
23
|
default_executable:
|
|
24
24
|
dependencies:
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
@@ -31,13 +31,12 @@ dependencies:
|
|
|
31
31
|
requirements:
|
|
32
32
|
- - ~>
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
hash:
|
|
34
|
+
hash: 7
|
|
35
35
|
segments:
|
|
36
36
|
- 3
|
|
37
37
|
- 0
|
|
38
38
|
- 0
|
|
39
|
-
|
|
40
|
-
version: 3.0.0.beta4
|
|
39
|
+
version: 3.0.0
|
|
41
40
|
requirement: *id001
|
|
42
41
|
- !ruby/object:Gem::Dependency
|
|
43
42
|
type: :development
|
|
@@ -48,14 +47,12 @@ dependencies:
|
|
|
48
47
|
requirements:
|
|
49
48
|
- - ~>
|
|
50
49
|
- !ruby/object:Gem::Version
|
|
51
|
-
hash:
|
|
50
|
+
hash: 23
|
|
52
51
|
segments:
|
|
53
52
|
- 1
|
|
54
53
|
- 0
|
|
55
54
|
- 0
|
|
56
|
-
|
|
57
|
-
- 2
|
|
58
|
-
version: 1.0.0.beta.2
|
|
55
|
+
version: 1.0.0
|
|
59
56
|
requirement: *id002
|
|
60
57
|
- !ruby/object:Gem::Dependency
|
|
61
58
|
type: :development
|
|
@@ -144,12 +141,12 @@ dependencies:
|
|
|
144
141
|
requirements:
|
|
145
142
|
- - ~>
|
|
146
143
|
- !ruby/object:Gem::Version
|
|
147
|
-
hash:
|
|
144
|
+
hash: 59
|
|
148
145
|
segments:
|
|
149
146
|
- 0
|
|
150
147
|
- 1
|
|
151
|
-
-
|
|
152
|
-
version: 0.1.
|
|
148
|
+
- 16
|
|
149
|
+
version: 0.1.16
|
|
153
150
|
requirement: *id008
|
|
154
151
|
- !ruby/object:Gem::Dependency
|
|
155
152
|
type: :runtime
|
|
@@ -160,12 +157,12 @@ dependencies:
|
|
|
160
157
|
requirements:
|
|
161
158
|
- - ~>
|
|
162
159
|
- !ruby/object:Gem::Version
|
|
163
|
-
hash:
|
|
160
|
+
hash: 5
|
|
164
161
|
segments:
|
|
165
162
|
- 0
|
|
166
163
|
- 0
|
|
167
|
-
-
|
|
168
|
-
version: 0.0.
|
|
164
|
+
- 13
|
|
165
|
+
version: 0.0.13
|
|
169
166
|
requirement: *id009
|
|
170
167
|
description: A software model in Ruby for the greenhouse gas emissions of a purchase
|
|
171
168
|
email: seamus@brighterplanet.com
|