diet 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/lib/diet/carbon_model.rb +4 -4
- data/lib/diet/characterization.rb +10 -3
- data/lib/test_support/db/schema.rb +0 -1
- data/lib/test_support/diet_record.rb +0 -10
- metadata +46 -46
data/lib/diet/carbon_model.rb
CHANGED
@@ -17,10 +17,10 @@ module BrighterPlanet
|
|
17
17
|
end
|
18
18
|
|
19
19
|
committee :intensity do # returns grams CO2 / kcal food
|
20
|
-
quorum 'from food
|
21
|
-
FoodGroup.names.
|
22
|
-
characteristics[
|
23
|
-
end
|
20
|
+
quorum 'from food groups', :needs => FoodGroup.names.map(&:to_sym) do |characteristics|
|
21
|
+
FoodGroup.names.sum do |group|
|
22
|
+
characteristics[group] * FoodGroup[group].intensity
|
23
|
+
end
|
24
24
|
end
|
25
25
|
|
26
26
|
quorum 'from diet class', :needs => :diet_class do |characteristics|
|
@@ -7,15 +7,22 @@ module BrighterPlanet
|
|
7
7
|
base.send :include, Characterizable
|
8
8
|
base.characterize do
|
9
9
|
has :diet_class
|
10
|
-
has :
|
10
|
+
has :red_meat_share, :trumps => :diet_class
|
11
|
+
has :poultry_share, :trumps => :diet_class
|
12
|
+
has :fish_share, :trumps => :diet_class
|
13
|
+
has :eggs_share, :trumps => :diet_class
|
14
|
+
has :nuts_share, :trumps => :diet_class
|
15
|
+
has :dairy_share, :trumps => :diet_class
|
16
|
+
has :cereals_and_grains_share, :trumps => :diet_class
|
17
|
+
has :fruit_share, :trumps => :diet_class
|
18
|
+
has :vegetables_share, :trumps => :diet_class
|
19
|
+
has :oils_and_sugars_share, :trumps => :diet_class
|
11
20
|
has :size # TODO more standard unit?
|
12
21
|
has :proximity, :measures => :percentage # impotent for now
|
13
22
|
has :conventionality, :measures => :percentage # impotent for now
|
14
23
|
has :start_date do |start_date|
|
15
24
|
start_date.reveals :end_date
|
16
25
|
end
|
17
|
-
|
18
|
-
has :retirement, :hidden => true
|
19
26
|
end
|
20
27
|
base.add_implicit_characteristics
|
21
28
|
end
|
@@ -36,14 +36,4 @@ class DietRecord < ActiveRecord::Base
|
|
36
36
|
def size_or_fallback
|
37
37
|
size || self.class.fallback.size
|
38
38
|
end
|
39
|
-
|
40
|
-
def food_group_balance
|
41
|
-
return unless FoodGroup.names.map {|g| "#{g}_share".to_sym}.any? {|m| send m}
|
42
|
-
FoodGroup.names.inject({}) { |memo, g| memo["#{g}_share".to_sym] = send("#{g}_share".to_sym); memo}
|
43
|
-
end
|
44
|
-
|
45
|
-
def food_group_balance=(balance)
|
46
|
-
raise ArgumentError, "Can't set food_group_balance directly" unless balance.nil?
|
47
|
-
update_attributes FoodGroup.names.inject({}) { |memo, g| memo["#{g}_share".to_sym] = nil; memo }
|
48
|
-
end
|
49
39
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diet
|
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,31 +19,30 @@ autorequire:
|
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
21
|
|
22
|
-
date: 2010-08-
|
22
|
+
date: 2010-08-25 00:00:00 -05:00
|
23
23
|
default_executable:
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
|
-
type: :development
|
27
|
-
prerelease: false
|
28
26
|
name: activerecord
|
29
|
-
|
27
|
+
prerelease: false
|
28
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
30
29
|
none: false
|
31
30
|
requirements:
|
32
|
-
- - "
|
31
|
+
- - ">="
|
33
32
|
- !ruby/object:Gem::Version
|
34
|
-
hash:
|
33
|
+
hash: 299253624
|
35
34
|
segments:
|
36
35
|
- 3
|
37
36
|
- 0
|
38
37
|
- 0
|
39
38
|
- beta4
|
40
39
|
version: 3.0.0.beta4
|
41
|
-
requirement: *id001
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
40
|
type: :development
|
44
|
-
|
41
|
+
version_requirements: *id001
|
42
|
+
- !ruby/object:Gem::Dependency
|
45
43
|
name: bundler
|
46
|
-
|
44
|
+
prerelease: false
|
45
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
47
46
|
none: false
|
48
47
|
requirements:
|
49
48
|
- - ">="
|
@@ -56,15 +55,15 @@ dependencies:
|
|
56
55
|
- beta
|
57
56
|
- 2
|
58
57
|
version: 1.0.0.beta.2
|
59
|
-
requirement: *id002
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
58
|
type: :development
|
62
|
-
|
59
|
+
version_requirements: *id002
|
60
|
+
- !ruby/object:Gem::Dependency
|
63
61
|
name: cucumber
|
64
|
-
|
62
|
+
prerelease: false
|
63
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
65
64
|
none: false
|
66
65
|
requirements:
|
67
|
-
- - "
|
66
|
+
- - ">="
|
68
67
|
- !ruby/object:Gem::Version
|
69
68
|
hash: 57
|
70
69
|
segments:
|
@@ -72,15 +71,15 @@ dependencies:
|
|
72
71
|
- 8
|
73
72
|
- 3
|
74
73
|
version: 0.8.3
|
75
|
-
requirement: *id003
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
74
|
type: :development
|
78
|
-
|
75
|
+
version_requirements: *id003
|
76
|
+
- !ruby/object:Gem::Dependency
|
79
77
|
name: jeweler
|
80
|
-
|
78
|
+
prerelease: false
|
79
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
81
80
|
none: false
|
82
81
|
requirements:
|
83
|
-
- - "
|
82
|
+
- - ">="
|
84
83
|
- !ruby/object:Gem::Version
|
85
84
|
hash: 7
|
86
85
|
segments:
|
@@ -88,12 +87,12 @@ dependencies:
|
|
88
87
|
- 4
|
89
88
|
- 0
|
90
89
|
version: 1.4.0
|
91
|
-
requirement: *id004
|
92
|
-
- !ruby/object:Gem::Dependency
|
93
90
|
type: :development
|
94
|
-
|
91
|
+
version_requirements: *id004
|
92
|
+
- !ruby/object:Gem::Dependency
|
95
93
|
name: rake
|
96
|
-
|
94
|
+
prerelease: false
|
95
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
97
96
|
none: false
|
98
97
|
requirements:
|
99
98
|
- - ">="
|
@@ -102,12 +101,12 @@ dependencies:
|
|
102
101
|
segments:
|
103
102
|
- 0
|
104
103
|
version: "0"
|
105
|
-
requirement: *id005
|
106
|
-
- !ruby/object:Gem::Dependency
|
107
104
|
type: :development
|
108
|
-
|
105
|
+
version_requirements: *id005
|
106
|
+
- !ruby/object:Gem::Dependency
|
109
107
|
name: rdoc
|
110
|
-
|
108
|
+
prerelease: false
|
109
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
111
110
|
none: false
|
112
111
|
requirements:
|
113
112
|
- - ">="
|
@@ -116,15 +115,15 @@ dependencies:
|
|
116
115
|
segments:
|
117
116
|
- 0
|
118
117
|
version: "0"
|
119
|
-
requirement: *id006
|
120
|
-
- !ruby/object:Gem::Dependency
|
121
118
|
type: :development
|
122
|
-
|
119
|
+
version_requirements: *id006
|
120
|
+
- !ruby/object:Gem::Dependency
|
123
121
|
name: rspec
|
124
|
-
|
122
|
+
prerelease: false
|
123
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
125
124
|
none: false
|
126
125
|
requirements:
|
127
|
-
- - "
|
126
|
+
- - ">="
|
128
127
|
- !ruby/object:Gem::Version
|
129
128
|
hash: 62196417
|
130
129
|
segments:
|
@@ -134,15 +133,15 @@ dependencies:
|
|
134
133
|
- beta
|
135
134
|
- 17
|
136
135
|
version: 2.0.0.beta.17
|
137
|
-
requirement: *id007
|
138
|
-
- !ruby/object:Gem::Dependency
|
139
136
|
type: :development
|
140
|
-
|
137
|
+
version_requirements: *id007
|
138
|
+
- !ruby/object:Gem::Dependency
|
141
139
|
name: sniff
|
142
|
-
|
140
|
+
prerelease: false
|
141
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
143
142
|
none: false
|
144
143
|
requirements:
|
145
|
-
- - "
|
144
|
+
- - ">="
|
146
145
|
- !ruby/object:Gem::Version
|
147
146
|
hash: 5
|
148
147
|
segments:
|
@@ -150,12 +149,12 @@ dependencies:
|
|
150
149
|
- 0
|
151
150
|
- 13
|
152
151
|
version: 0.0.13
|
153
|
-
|
152
|
+
type: :development
|
153
|
+
version_requirements: *id008
|
154
154
|
- !ruby/object:Gem::Dependency
|
155
|
-
type: :runtime
|
156
|
-
prerelease: false
|
157
155
|
name: emitter
|
158
|
-
|
156
|
+
prerelease: false
|
157
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
159
158
|
none: false
|
160
159
|
requirements:
|
161
160
|
- - ">="
|
@@ -166,7 +165,8 @@ dependencies:
|
|
166
165
|
- 0
|
167
166
|
- 1
|
168
167
|
version: 0.0.1
|
169
|
-
|
168
|
+
type: :runtime
|
169
|
+
version_requirements: *id009
|
170
170
|
description: A software model in Ruby for the greenhouse gas emissions of a diet
|
171
171
|
email: andy@rossmeissl.net
|
172
172
|
executables: []
|