carbon 1.1.0 → 1.1.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.
- data/bin/carbon +0 -0
- data/lib/carbon/emission_estimate.rb +2 -1
- data/lib/carbon/emission_estimate/request.rb +1 -0
- data/lib/carbon/version.rb +1 -1
- data/spec/lib/carbon/emission_estimate/request_spec.rb +4 -0
- data/spec/lib/carbon/emission_estimate_spec.rb +12 -0
- data/spec/lib/carbon_spec.rb +5 -42
- data/spec/spec_helper.rb +43 -0
- metadata +51 -10
data/bin/carbon
CHANGED
File without changes
|
@@ -26,6 +26,7 @@ module Carbon
|
|
26
26
|
attr_accessor :timeframe
|
27
27
|
attr_accessor :certified
|
28
28
|
attr_accessor :guid
|
29
|
+
attr_accessor :comply
|
29
30
|
attr_reader :emitter
|
30
31
|
|
31
32
|
def initialize(emitter, options = {})
|
@@ -33,7 +34,7 @@ module Carbon
|
|
33
34
|
take_options options unless options.empty?
|
34
35
|
end
|
35
36
|
|
36
|
-
VALID_OPTIONS = [:callback_content_type, :key, :callback, :timeframe, :guid, :timeout, :defer, :certified]
|
37
|
+
VALID_OPTIONS = [:callback_content_type, :key, :callback, :timeframe, :guid, :timeout, :defer, :certified, :comply]
|
37
38
|
|
38
39
|
def take_options(options) #:nodoc:
|
39
40
|
return if options.blank?
|
data/lib/carbon/version.rb
CHANGED
@@ -19,6 +19,10 @@ describe Carbon::EmissionEstimate::Request do
|
|
19
19
|
request.should_receive :validate
|
20
20
|
request.params
|
21
21
|
end
|
22
|
+
it 'includes compliance' do
|
23
|
+
emission_estimate.comply = :iso
|
24
|
+
request.params.should include(:comply => :iso)
|
25
|
+
end
|
22
26
|
end
|
23
27
|
|
24
28
|
describe '#validate' do
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Carbon::EmissionEstimate do
|
4
|
+
describe '#take_options' do
|
5
|
+
it 'accepts the :comply option' do
|
6
|
+
estimate = Carbon::EmissionEstimate.new(RentalCar.new)
|
7
|
+
estimate.take_options :comply => :iso
|
8
|
+
estimate.comply.should == :iso
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
data/spec/lib/carbon_spec.rb
CHANGED
@@ -89,48 +89,6 @@ FakeWeb.register_uri :get,
|
|
89
89
|
# }.to_json,
|
90
90
|
# :headers => { 'Location' => "http://storage.carbon.brighterplanet.com/#{Digest::SHA1.hexdigest(KEY+MISSING_UNIQUE_ID)}" }
|
91
91
|
|
92
|
-
class RentalCar
|
93
|
-
include Carbon
|
94
|
-
attr_accessor :model, :model_year, :fuel_economy
|
95
|
-
class Make
|
96
|
-
attr_accessor :name
|
97
|
-
def to_param
|
98
|
-
name
|
99
|
-
end
|
100
|
-
end
|
101
|
-
def make
|
102
|
-
@make ||= Make.new
|
103
|
-
end
|
104
|
-
emit_as :automobile_trip do
|
105
|
-
provide :make
|
106
|
-
provide :model
|
107
|
-
provide :model_year
|
108
|
-
provide :fuel_economy, :as => :fuel_efficiency
|
109
|
-
end
|
110
|
-
end
|
111
|
-
|
112
|
-
class DonutFactory
|
113
|
-
include Carbon
|
114
|
-
attr_accessor :smokestack_size, :oven_count, :employees
|
115
|
-
class Mixer
|
116
|
-
attr_accessor :upc
|
117
|
-
def to_param
|
118
|
-
raise "Use #to_characteristic instead please"
|
119
|
-
end
|
120
|
-
def to_characteristic
|
121
|
-
upc
|
122
|
-
end
|
123
|
-
end
|
124
|
-
def mixer
|
125
|
-
@mixer ||= Mixer.new
|
126
|
-
end
|
127
|
-
emit_as :factory do
|
128
|
-
provide :smokestack_size
|
129
|
-
provide :oven_count
|
130
|
-
provide :employees, :as => :personnel
|
131
|
-
provide :mixer, :key => :upc
|
132
|
-
end
|
133
|
-
end
|
134
92
|
|
135
93
|
# set up timeouts
|
136
94
|
module Carbon
|
@@ -334,6 +292,11 @@ describe Carbon do
|
|
334
292
|
c = RentalCar.new
|
335
293
|
c.emission_estimate(:certified => true).should == 54321
|
336
294
|
end
|
295
|
+
|
296
|
+
it 'complies to given standards' do
|
297
|
+
c = RentalCar.new
|
298
|
+
c.emission_estimate(:comply => :iso).request.body.should =~ /comply=iso/
|
299
|
+
end
|
337
300
|
end
|
338
301
|
|
339
302
|
describe 'asynchronous (queued) requests' do
|
data/spec/spec_helper.rb
CHANGED
@@ -9,3 +9,46 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
9
9
|
require 'carbon'
|
10
10
|
|
11
11
|
Carbon.log = Logger.new nil
|
12
|
+
|
13
|
+
class RentalCar
|
14
|
+
include Carbon
|
15
|
+
attr_accessor :model, :model_year, :fuel_economy
|
16
|
+
class Make
|
17
|
+
attr_accessor :name
|
18
|
+
def to_param
|
19
|
+
name
|
20
|
+
end
|
21
|
+
end
|
22
|
+
def make
|
23
|
+
@make ||= Make.new
|
24
|
+
end
|
25
|
+
emit_as :automobile_trip do
|
26
|
+
provide :make
|
27
|
+
provide :model
|
28
|
+
provide :model_year
|
29
|
+
provide :fuel_economy, :as => :fuel_efficiency
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
class DonutFactory
|
34
|
+
include Carbon
|
35
|
+
attr_accessor :smokestack_size, :oven_count, :employees
|
36
|
+
class Mixer
|
37
|
+
attr_accessor :upc
|
38
|
+
def to_param
|
39
|
+
raise "Use #to_characteristic instead please"
|
40
|
+
end
|
41
|
+
def to_characteristic
|
42
|
+
upc
|
43
|
+
end
|
44
|
+
end
|
45
|
+
def mixer
|
46
|
+
@mixer ||= Mixer.new
|
47
|
+
end
|
48
|
+
emit_as :factory do
|
49
|
+
provide :smokestack_size
|
50
|
+
provide :oven_count
|
51
|
+
provide :employees, :as => :personnel
|
52
|
+
provide :mixer, :key => :upc
|
53
|
+
end
|
54
|
+
end
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: carbon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 17
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 1
|
9
|
+
- 1
|
10
|
+
version: 1.1.1
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- Derek Kastner
|
@@ -12,7 +17,7 @@ autorequire:
|
|
12
17
|
bindir: bin
|
13
18
|
cert_chain: []
|
14
19
|
|
15
|
-
date: 2011-04-04 00:00:00 -
|
20
|
+
date: 2011-04-04 00:00:00 -04:00
|
16
21
|
default_executable:
|
17
22
|
dependencies:
|
18
23
|
- !ruby/object:Gem::Dependency
|
@@ -23,6 +28,11 @@ dependencies:
|
|
23
28
|
requirements:
|
24
29
|
- - ">="
|
25
30
|
- !ruby/object:Gem::Version
|
31
|
+
hash: 9
|
32
|
+
segments:
|
33
|
+
- 2
|
34
|
+
- 3
|
35
|
+
- 5
|
26
36
|
version: 2.3.5
|
27
37
|
type: :runtime
|
28
38
|
version_requirements: *id001
|
@@ -34,6 +44,9 @@ dependencies:
|
|
34
44
|
requirements:
|
35
45
|
- - ">="
|
36
46
|
- !ruby/object:Gem::Version
|
47
|
+
hash: 3
|
48
|
+
segments:
|
49
|
+
- 0
|
37
50
|
version: "0"
|
38
51
|
type: :runtime
|
39
52
|
version_requirements: *id002
|
@@ -45,6 +58,9 @@ dependencies:
|
|
45
58
|
requirements:
|
46
59
|
- - ">="
|
47
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 3
|
62
|
+
segments:
|
63
|
+
- 0
|
48
64
|
version: "0"
|
49
65
|
type: :runtime
|
50
66
|
version_requirements: *id003
|
@@ -56,6 +72,9 @@ dependencies:
|
|
56
72
|
requirements:
|
57
73
|
- - ">="
|
58
74
|
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
76
|
+
segments:
|
77
|
+
- 0
|
59
78
|
version: "0"
|
60
79
|
type: :runtime
|
61
80
|
version_requirements: *id004
|
@@ -67,6 +86,9 @@ dependencies:
|
|
67
86
|
requirements:
|
68
87
|
- - ">="
|
69
88
|
- !ruby/object:Gem::Version
|
89
|
+
hash: 3
|
90
|
+
segments:
|
91
|
+
- 0
|
70
92
|
version: "0"
|
71
93
|
type: :runtime
|
72
94
|
version_requirements: *id005
|
@@ -78,6 +100,9 @@ dependencies:
|
|
78
100
|
requirements:
|
79
101
|
- - ">="
|
80
102
|
- !ruby/object:Gem::Version
|
103
|
+
hash: 3
|
104
|
+
segments:
|
105
|
+
- 0
|
81
106
|
version: "0"
|
82
107
|
type: :runtime
|
83
108
|
version_requirements: *id006
|
@@ -89,6 +114,9 @@ dependencies:
|
|
89
114
|
requirements:
|
90
115
|
- - ">="
|
91
116
|
- !ruby/object:Gem::Version
|
117
|
+
hash: 3
|
118
|
+
segments:
|
119
|
+
- 0
|
92
120
|
version: "0"
|
93
121
|
type: :runtime
|
94
122
|
version_requirements: *id007
|
@@ -100,6 +128,9 @@ dependencies:
|
|
100
128
|
requirements:
|
101
129
|
- - ">="
|
102
130
|
- !ruby/object:Gem::Version
|
131
|
+
hash: 3
|
132
|
+
segments:
|
133
|
+
- 0
|
103
134
|
version: "0"
|
104
135
|
type: :runtime
|
105
136
|
version_requirements: *id008
|
@@ -111,6 +142,9 @@ dependencies:
|
|
111
142
|
requirements:
|
112
143
|
- - ">="
|
113
144
|
- !ruby/object:Gem::Version
|
145
|
+
hash: 3
|
146
|
+
segments:
|
147
|
+
- 0
|
114
148
|
version: "0"
|
115
149
|
type: :development
|
116
150
|
version_requirements: *id009
|
@@ -122,6 +156,9 @@ dependencies:
|
|
122
156
|
requirements:
|
123
157
|
- - ">="
|
124
158
|
- !ruby/object:Gem::Version
|
159
|
+
hash: 3
|
160
|
+
segments:
|
161
|
+
- 0
|
125
162
|
version: "0"
|
126
163
|
type: :development
|
127
164
|
version_requirements: *id010
|
@@ -133,6 +170,9 @@ dependencies:
|
|
133
170
|
requirements:
|
134
171
|
- - ">="
|
135
172
|
- !ruby/object:Gem::Version
|
173
|
+
hash: 3
|
174
|
+
segments:
|
175
|
+
- 0
|
136
176
|
version: "0"
|
137
177
|
type: :development
|
138
178
|
version_requirements: *id011
|
@@ -172,6 +212,7 @@ files:
|
|
172
212
|
- lib/carbon/version.rb
|
173
213
|
- spec/lib/carbon/emission_estimate/request_spec.rb
|
174
214
|
- spec/lib/carbon/emission_estimate/response_spec.rb
|
215
|
+
- spec/lib/carbon/emission_estimate_spec.rb
|
175
216
|
- spec/lib/carbon_spec.rb
|
176
217
|
- spec/spec_helper.rb
|
177
218
|
- spec/specwatchr
|
@@ -189,12 +230,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
189
230
|
requirements:
|
190
231
|
- - ">="
|
191
232
|
- !ruby/object:Gem::Version
|
233
|
+
hash: 3
|
234
|
+
segments:
|
235
|
+
- 0
|
192
236
|
version: "0"
|
193
237
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
194
238
|
none: false
|
195
239
|
requirements:
|
196
240
|
- - ">="
|
197
241
|
- !ruby/object:Gem::Version
|
242
|
+
hash: 3
|
243
|
+
segments:
|
244
|
+
- 0
|
198
245
|
version: "0"
|
199
246
|
requirements: []
|
200
247
|
|
@@ -203,11 +250,5 @@ rubygems_version: 1.6.2
|
|
203
250
|
signing_key:
|
204
251
|
specification_version: 3
|
205
252
|
summary: Carbon is a Ruby API wrapper for the Brighter Planet emission estimate web service (http://carbon.brighterplanet.com).
|
206
|
-
test_files:
|
207
|
-
|
208
|
-
- features/support/env.rb
|
209
|
-
- spec/lib/carbon/emission_estimate/request_spec.rb
|
210
|
-
- spec/lib/carbon/emission_estimate/response_spec.rb
|
211
|
-
- spec/lib/carbon_spec.rb
|
212
|
-
- spec/spec_helper.rb
|
213
|
-
- spec/specwatchr
|
253
|
+
test_files: []
|
254
|
+
|