pet 0.0.10 → 0.0.11
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/features/pet_committees.feature +11 -7
- data/features/pet_emissions.feature +1 -1
- data/features/support/env.rb +1 -1
- data/lib/pet/carbon_model.rb +4 -6
- data/lib/pet/characterization.rb +0 -4
- data/lib/pet/data.rb +0 -2
- data/lib/pet/summarization.rb +0 -3
- metadata +55 -58
|
@@ -2,11 +2,15 @@ Feature: Pet Committee Calculations
|
|
|
2
2
|
The pet model should generate correct committee calculations
|
|
3
3
|
|
|
4
4
|
Scenario Outline: Diet Size Committee
|
|
5
|
-
Given a pet
|
|
6
|
-
And
|
|
7
|
-
And
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
Given a pet emitter
|
|
6
|
+
And characteristic "species.name" of "<species>"
|
|
7
|
+
And characteristic "breed.name" of "<breed>"
|
|
8
|
+
And characteristic "gender.name" of "<gender>"
|
|
9
|
+
When the "weight" committee is calculated
|
|
10
|
+
And the "marginal_dietary_requirement" committee is calculated
|
|
11
|
+
And the "fixed_dietary_requirement" committee is calculated
|
|
12
|
+
And the "diet_size" committee is calculated
|
|
13
|
+
Then the conclusion of the committee should be "<diet_size>"
|
|
10
14
|
Examples:
|
|
11
|
-
| species | breed | gender |
|
|
12
|
-
| dog | Collie | female | 5296105.
|
|
15
|
+
| species | breed | gender | diet_size |
|
|
16
|
+
| dog | Collie | female | 5296105.0368 |
|
|
@@ -6,7 +6,7 @@ Feature: Pet Emissions Calculations
|
|
|
6
6
|
And it has "breed.name" of "<breed>"
|
|
7
7
|
And it has "gender.name" of "<gender>"
|
|
8
8
|
When emissions are calculated
|
|
9
|
-
Then the emission value should be within 0.1 kgs of <emission>
|
|
9
|
+
Then the emission value should be within "0.1" kgs of "<emission>"
|
|
10
10
|
Examples:
|
|
11
11
|
| species | breed | gender | emission |
|
|
12
12
|
| dog | Collie | female | 2272.4 |
|
data/features/support/env.rb
CHANGED
data/lib/pet/carbon_model.rb
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
require 'leap'
|
|
2
1
|
require 'weighted_average'
|
|
3
2
|
|
|
4
3
|
module BrighterPlanet
|
|
5
4
|
module Pet
|
|
6
5
|
module CarbonModel
|
|
7
6
|
def self.included(base)
|
|
8
|
-
base.extend ::Leap::Subject
|
|
9
7
|
base.decide :emission, :with => :characteristics do
|
|
10
8
|
committee :emission do
|
|
11
9
|
quorum 'from diet size', :needs => [:diet_size, :diet_emission_intensity, :active_subtimeframe] do |characteristics, timeframe|
|
|
@@ -19,7 +17,7 @@ module BrighterPlanet
|
|
|
19
17
|
end
|
|
20
18
|
|
|
21
19
|
quorum 'default' do
|
|
22
|
-
|
|
20
|
+
base.fallback.diet_emission_intensity
|
|
23
21
|
end
|
|
24
22
|
end
|
|
25
23
|
|
|
@@ -35,7 +33,7 @@ module BrighterPlanet
|
|
|
35
33
|
end
|
|
36
34
|
|
|
37
35
|
quorum 'default' do
|
|
38
|
-
|
|
36
|
+
base.fallback.marginal_dietary_requirement
|
|
39
37
|
end
|
|
40
38
|
end
|
|
41
39
|
|
|
@@ -45,7 +43,7 @@ module BrighterPlanet
|
|
|
45
43
|
end
|
|
46
44
|
|
|
47
45
|
quorum 'default' do
|
|
48
|
-
|
|
46
|
+
base.fallback.fixed_dietary_requirement
|
|
49
47
|
end
|
|
50
48
|
end
|
|
51
49
|
|
|
@@ -65,7 +63,7 @@ module BrighterPlanet
|
|
|
65
63
|
end
|
|
66
64
|
|
|
67
65
|
quorum 'default' do
|
|
68
|
-
|
|
66
|
+
base.fallback.weight
|
|
69
67
|
end
|
|
70
68
|
end
|
|
71
69
|
|
data/lib/pet/characterization.rb
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
require 'characterizable'
|
|
2
|
-
|
|
3
1
|
module BrighterPlanet
|
|
4
2
|
module Pet
|
|
5
3
|
module Characterization
|
|
6
4
|
def self.included(base)
|
|
7
|
-
base.send :include, Characterizable
|
|
8
5
|
base.characterize do
|
|
9
6
|
has :species do |species|
|
|
10
7
|
species.reveals :breed
|
|
@@ -14,7 +11,6 @@ module BrighterPlanet
|
|
|
14
11
|
has :acquisition # TODO andy test start year
|
|
15
12
|
has :retirement
|
|
16
13
|
end
|
|
17
|
-
base.add_implicit_characteristics
|
|
18
14
|
end
|
|
19
15
|
end
|
|
20
16
|
end
|
data/lib/pet/data.rb
CHANGED
data/lib/pet/summarization.rb
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
require 'summary_judgement'
|
|
2
|
-
|
|
3
1
|
module BrighterPlanet
|
|
4
2
|
module Pet
|
|
5
3
|
module Summarization
|
|
6
4
|
def self.included(base)
|
|
7
|
-
base.extend SummaryJudgement
|
|
8
5
|
base.summarize do |has|
|
|
9
6
|
has.adjective lambda { |pet| "#{pet.weight_in_pounds.adaptive_round}-pound"}, :if => :weight
|
|
10
7
|
has.adjective [:gender, :name], :if => :gender
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pet
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 9
|
|
5
5
|
prerelease: false
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 0
|
|
9
|
-
-
|
|
10
|
-
version: 0.0.
|
|
9
|
+
- 11
|
|
10
|
+
version: 0.0.11
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Andy Rossmeissl
|
|
@@ -19,48 +19,46 @@ autorequire:
|
|
|
19
19
|
bindir: bin
|
|
20
20
|
cert_chain: []
|
|
21
21
|
|
|
22
|
-
date: 2010-09-
|
|
22
|
+
date: 2010-09-22 00:00:00 -04:00
|
|
23
23
|
default_executable:
|
|
24
24
|
dependencies:
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
|
-
|
|
26
|
+
type: :development
|
|
27
27
|
prerelease: false
|
|
28
|
-
|
|
28
|
+
name: activerecord
|
|
29
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
|
29
30
|
none: false
|
|
30
31
|
requirements:
|
|
31
|
-
- -
|
|
32
|
+
- - ~>
|
|
32
33
|
- !ruby/object:Gem::Version
|
|
33
|
-
hash:
|
|
34
|
+
hash: 7
|
|
34
35
|
segments:
|
|
35
36
|
- 3
|
|
36
37
|
- 0
|
|
37
38
|
- 0
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
type: :development
|
|
41
|
-
version_requirements: *id001
|
|
39
|
+
version: 3.0.0
|
|
40
|
+
requirement: *id001
|
|
42
41
|
- !ruby/object:Gem::Dependency
|
|
43
|
-
|
|
42
|
+
type: :development
|
|
44
43
|
prerelease: false
|
|
45
|
-
|
|
44
|
+
name: bundler
|
|
45
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
|
46
46
|
none: false
|
|
47
47
|
requirements:
|
|
48
|
-
- -
|
|
48
|
+
- - ~>
|
|
49
49
|
- !ruby/object:Gem::Version
|
|
50
|
-
hash:
|
|
50
|
+
hash: 23
|
|
51
51
|
segments:
|
|
52
52
|
- 1
|
|
53
53
|
- 0
|
|
54
54
|
- 0
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
version: 1.0.0.beta.2
|
|
58
|
-
type: :development
|
|
59
|
-
version_requirements: *id002
|
|
55
|
+
version: 1.0.0
|
|
56
|
+
requirement: *id002
|
|
60
57
|
- !ruby/object:Gem::Dependency
|
|
61
|
-
|
|
58
|
+
type: :development
|
|
62
59
|
prerelease: false
|
|
63
|
-
|
|
60
|
+
name: cucumber
|
|
61
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
|
64
62
|
none: false
|
|
65
63
|
requirements:
|
|
66
64
|
- - "="
|
|
@@ -71,12 +69,12 @@ dependencies:
|
|
|
71
69
|
- 8
|
|
72
70
|
- 3
|
|
73
71
|
version: 0.8.3
|
|
74
|
-
|
|
75
|
-
version_requirements: *id003
|
|
72
|
+
requirement: *id003
|
|
76
73
|
- !ruby/object:Gem::Dependency
|
|
77
|
-
|
|
74
|
+
type: :development
|
|
78
75
|
prerelease: false
|
|
79
|
-
|
|
76
|
+
name: jeweler
|
|
77
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
|
80
78
|
none: false
|
|
81
79
|
requirements:
|
|
82
80
|
- - "="
|
|
@@ -87,12 +85,12 @@ dependencies:
|
|
|
87
85
|
- 4
|
|
88
86
|
- 0
|
|
89
87
|
version: 1.4.0
|
|
90
|
-
|
|
91
|
-
version_requirements: *id004
|
|
88
|
+
requirement: *id004
|
|
92
89
|
- !ruby/object:Gem::Dependency
|
|
93
|
-
|
|
90
|
+
type: :development
|
|
94
91
|
prerelease: false
|
|
95
|
-
|
|
92
|
+
name: rake
|
|
93
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
|
96
94
|
none: false
|
|
97
95
|
requirements:
|
|
98
96
|
- - ">="
|
|
@@ -101,12 +99,12 @@ dependencies:
|
|
|
101
99
|
segments:
|
|
102
100
|
- 0
|
|
103
101
|
version: "0"
|
|
104
|
-
|
|
105
|
-
version_requirements: *id005
|
|
102
|
+
requirement: *id005
|
|
106
103
|
- !ruby/object:Gem::Dependency
|
|
107
|
-
|
|
104
|
+
type: :development
|
|
108
105
|
prerelease: false
|
|
109
|
-
|
|
106
|
+
name: rdoc
|
|
107
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
|
110
108
|
none: false
|
|
111
109
|
requirements:
|
|
112
110
|
- - ">="
|
|
@@ -115,15 +113,15 @@ dependencies:
|
|
|
115
113
|
segments:
|
|
116
114
|
- 0
|
|
117
115
|
version: "0"
|
|
118
|
-
|
|
119
|
-
version_requirements: *id006
|
|
116
|
+
requirement: *id006
|
|
120
117
|
- !ruby/object:Gem::Dependency
|
|
121
|
-
|
|
118
|
+
type: :development
|
|
122
119
|
prerelease: false
|
|
123
|
-
|
|
120
|
+
name: rspec
|
|
121
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
|
124
122
|
none: false
|
|
125
123
|
requirements:
|
|
126
|
-
- -
|
|
124
|
+
- - ~>
|
|
127
125
|
- !ruby/object:Gem::Version
|
|
128
126
|
hash: 62196417
|
|
129
127
|
segments:
|
|
@@ -133,40 +131,39 @@ dependencies:
|
|
|
133
131
|
- beta
|
|
134
132
|
- 17
|
|
135
133
|
version: 2.0.0.beta.17
|
|
136
|
-
|
|
137
|
-
version_requirements: *id007
|
|
134
|
+
requirement: *id007
|
|
138
135
|
- !ruby/object:Gem::Dependency
|
|
139
|
-
|
|
136
|
+
type: :development
|
|
140
137
|
prerelease: false
|
|
141
|
-
|
|
138
|
+
name: sniff
|
|
139
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
|
142
140
|
none: false
|
|
143
141
|
requirements:
|
|
144
|
-
- -
|
|
142
|
+
- - ~>
|
|
145
143
|
- !ruby/object:Gem::Version
|
|
146
144
|
hash: 3
|
|
147
145
|
segments:
|
|
148
146
|
- 0
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
version: 0.
|
|
152
|
-
|
|
153
|
-
version_requirements: *id008
|
|
147
|
+
- 1
|
|
148
|
+
- 12
|
|
149
|
+
version: 0.1.12
|
|
150
|
+
requirement: *id008
|
|
154
151
|
- !ruby/object:Gem::Dependency
|
|
155
|
-
|
|
152
|
+
type: :runtime
|
|
156
153
|
prerelease: false
|
|
157
|
-
|
|
154
|
+
name: emitter
|
|
155
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
|
158
156
|
none: false
|
|
159
157
|
requirements:
|
|
160
|
-
- -
|
|
158
|
+
- - ~>
|
|
161
159
|
- !ruby/object:Gem::Version
|
|
162
|
-
hash:
|
|
160
|
+
hash: 19
|
|
163
161
|
segments:
|
|
164
162
|
- 0
|
|
165
|
-
- 0
|
|
166
163
|
- 1
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
164
|
+
- 4
|
|
165
|
+
version: 0.1.4
|
|
166
|
+
requirement: *id009
|
|
170
167
|
description: A software model in Ruby for the greenhouse gas emissions of an pet
|
|
171
168
|
email: andy@rossmeissl.net
|
|
172
169
|
executables: []
|