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.
@@ -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 group balance', :needs => :food_group_balance do |characteristics|
21
- FoodGroup.names.collect do |group|
22
- characteristics[:food_group_balance]["#{group}_share".to_sym] * FoodGroup.find_by_name(group).intensity
23
- end.sum
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 :food_group_balance, :trumps => :diet_class
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
@@ -21,7 +21,6 @@ Sniff::Database.define_schema do
21
21
  t.float "fruit_share"
22
22
  t.float "vegetables_share"
23
23
  t.float "oils_and_sugars_share"
24
- t.datetime "new_retirement"
25
24
  t.date "start_date"
26
25
  t.date "end_date"
27
26
  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: 11
4
+ hash: 9
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 10
10
- version: 0.0.10
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-12 00:00:00 -04:00
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
- version_requirements: &id001 !ruby/object:Gem::Requirement
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: -1848230024
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
- prerelease: false
41
+ version_requirements: *id001
42
+ - !ruby/object:Gem::Dependency
45
43
  name: bundler
46
- version_requirements: &id002 !ruby/object:Gem::Requirement
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
- prerelease: false
59
+ version_requirements: *id002
60
+ - !ruby/object:Gem::Dependency
63
61
  name: cucumber
64
- version_requirements: &id003 !ruby/object:Gem::Requirement
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
- prerelease: false
75
+ version_requirements: *id003
76
+ - !ruby/object:Gem::Dependency
79
77
  name: jeweler
80
- version_requirements: &id004 !ruby/object:Gem::Requirement
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
- prerelease: false
91
+ version_requirements: *id004
92
+ - !ruby/object:Gem::Dependency
95
93
  name: rake
96
- version_requirements: &id005 !ruby/object:Gem::Requirement
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
- prerelease: false
105
+ version_requirements: *id005
106
+ - !ruby/object:Gem::Dependency
109
107
  name: rdoc
110
- version_requirements: &id006 !ruby/object:Gem::Requirement
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
- prerelease: false
119
+ version_requirements: *id006
120
+ - !ruby/object:Gem::Dependency
123
121
  name: rspec
124
- version_requirements: &id007 !ruby/object:Gem::Requirement
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
- prerelease: false
137
+ version_requirements: *id007
138
+ - !ruby/object:Gem::Dependency
141
139
  name: sniff
142
- version_requirements: &id008 !ruby/object:Gem::Requirement
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
- requirement: *id008
152
+ type: :development
153
+ version_requirements: *id008
154
154
  - !ruby/object:Gem::Dependency
155
- type: :runtime
156
- prerelease: false
157
155
  name: emitter
158
- version_requirements: &id009 !ruby/object:Gem::Requirement
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
- requirement: *id009
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: []