genability 0.2.0 → 0.3.0

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.
Files changed (43) hide show
  1. data/Gemfile +13 -12
  2. data/README.md +40 -6
  3. data/VERSION +1 -1
  4. data/genability.gemspec +12 -12
  5. data/lib/faraday/request/url_encoding_fix.rb +1 -1
  6. data/lib/genability.rb +5 -3
  7. data/lib/genability/api.rb +0 -3
  8. data/lib/genability/client.rb +4 -0
  9. data/lib/genability/client/calculate.rb +44 -16
  10. data/lib/genability/client/echo.rb +4 -4
  11. data/lib/genability/client/helpers.rb +49 -4
  12. data/lib/genability/client/load_serving_entity.rb +46 -16
  13. data/lib/genability/client/price.rb +1 -1
  14. data/lib/genability/client/property.rb +30 -2
  15. data/lib/genability/client/season.rb +39 -2
  16. data/lib/genability/client/tariff.rb +63 -12
  17. data/lib/genability/client/territory.rb +53 -8
  18. data/lib/genability/client/time_of_use.rb +53 -9
  19. data/lib/genability/connection.rb +2 -0
  20. data/lib/genability/error.rb +1 -1
  21. data/lib/genability/request.rb +7 -2
  22. data/lib/mashie_extensions.rb +9 -1
  23. data/spec/cassettes/calculate.yml +65 -38
  24. data/spec/cassettes/echo.yml +77 -37
  25. data/spec/cassettes/load_serving_entities.yml +294 -106
  26. data/spec/cassettes/load_serving_entity.yml +23 -18
  27. data/spec/cassettes/prices.yml +91 -35
  28. data/spec/cassettes/properties.yml +178 -35
  29. data/spec/cassettes/property.yml +31 -19
  30. data/spec/cassettes/seasons.yml +24 -18
  31. data/spec/cassettes/tariff.yml +82 -18
  32. data/spec/cassettes/tariffs.yml +259 -69
  33. data/spec/cassettes/territories.yml +67 -35
  34. data/spec/cassettes/territory.yml +24 -18
  35. data/spec/cassettes/time_of_use.yml +47 -18
  36. data/spec/cassettes/time_of_uses.yml +24 -18
  37. data/spec/cassettes/zipcode.yml +25 -18
  38. data/spec/client/calculate_spec.rb +6 -6
  39. data/spec/client/echo_spec.rb +6 -6
  40. data/spec/client/load_serving_entity_spec.rb +15 -7
  41. data/spec/client/tariff_spec.rb +10 -2
  42. data/spec/spec_helper.rb +6 -0
  43. metadata +170 -110
@@ -18,7 +18,7 @@ describe Genability::Client do
18
18
  it "should return an array of tariffs" do
19
19
  tariffs = @client.tariffs
20
20
  tariffs.should be_an Array
21
- tariffs.first.tariff_id.should == 79
21
+ tariffs.first.tariff_id.should == 447
22
22
  end
23
23
 
24
24
  # this example also demonstrates searching within results
@@ -48,7 +48,15 @@ describe Genability::Client do
48
48
  it "should return a tariff" do
49
49
  tariff = @client.tariff(512)
50
50
  tariff.should be_a Hashie::Mash
51
- tariff.tariff_id.should == 512
51
+ tariff.master_tariff_id.should == 512
52
+ end
53
+
54
+ it "should return a tariff with rates and properties" do
55
+ tariff = @client.tariff(512, { :populate_rates => 'ture', :populate_properties => 'true' })
56
+ tariff.should be_a Hashie::Mash
57
+ tariff.properties.count.should > 0
58
+ tariff.rates.count.should > 0
59
+ tariff.master_tariff_id.should == 512
52
60
  end
53
61
 
54
62
  end
@@ -21,6 +21,12 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
21
21
  RSpec.configure do |config|
22
22
  config.include WebMock::API
23
23
  config.extend VCR::RSpec::Macros
24
+ config.before(:each) do
25
+ Genability.reset
26
+ end
27
+ config.treat_symbols_as_metadata_keys_with_true_values = true
28
+ config.filter_run :focus => true
29
+ config.run_all_when_everything_filtered = true
24
30
  end
25
31
 
26
32
  VCR.config do |c|
metadata CHANGED
@@ -1,170 +1,233 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: genability
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
4
5
  prerelease:
5
- version: 0.2.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Matthew Solt
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-10-26 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-11-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: faraday
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
18
+ requirements:
21
19
  - - ~>
22
- - !ruby/object:Gem::Version
20
+ - !ruby/object:Gem::Version
23
21
  version: 0.7.4
24
22
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: faraday_middleware
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 0.7.4
30
+ - !ruby/object:Gem::Dependency
31
+ name: faraday_middleware
32
+ requirement: !ruby/object:Gem::Requirement
30
33
  none: false
31
- requirements:
34
+ requirements:
32
35
  - - ~>
33
- - !ruby/object:Gem::Version
36
+ - !ruby/object:Gem::Version
34
37
  version: 0.7.0
35
38
  type: :runtime
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: hashie
39
39
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.7.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: hashie
48
+ requirement: !ruby/object:Gem::Requirement
41
49
  none: false
42
- requirements:
50
+ requirements:
43
51
  - - ~>
44
- - !ruby/object:Gem::Version
52
+ - !ruby/object:Gem::Version
45
53
  version: 1.2.0
46
54
  type: :runtime
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: multi_json
50
55
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.2.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: multi_json
64
+ requirement: !ruby/object:Gem::Requirement
52
65
  none: false
53
- requirements:
66
+ requirements:
54
67
  - - ~>
55
- - !ruby/object:Gem::Version
68
+ - !ruby/object:Gem::Version
56
69
  version: 1.0.3
57
70
  type: :runtime
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
60
- name: chronic
61
71
  prerelease: false
62
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 1.0.3
78
+ - !ruby/object:Gem::Dependency
79
+ name: chronic
80
+ requirement: !ruby/object:Gem::Requirement
63
81
  none: false
64
- requirements:
82
+ requirements:
65
83
  - - ~>
66
- - !ruby/object:Gem::Version
84
+ - !ruby/object:Gem::Version
67
85
  version: 0.6.4
68
86
  type: :runtime
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
71
- name: rspec
72
87
  prerelease: false
73
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
74
89
  none: false
75
- requirements:
90
+ requirements:
76
91
  - - ~>
77
- - !ruby/object:Gem::Version
78
- version: "2.7"
92
+ - !ruby/object:Gem::Version
93
+ version: 0.6.4
94
+ - !ruby/object:Gem::Dependency
95
+ name: rspec
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: '2.7'
79
102
  type: :development
80
- version_requirements: *id006
81
- - !ruby/object:Gem::Dependency
82
- name: yard
83
103
  prerelease: false
84
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
85
105
  none: false
86
- requirements:
106
+ requirements:
87
107
  - - ~>
88
- - !ruby/object:Gem::Version
108
+ - !ruby/object:Gem::Version
109
+ version: '2.7'
110
+ - !ruby/object:Gem::Dependency
111
+ name: yard
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
89
117
  version: 0.7.0
90
118
  type: :development
91
- version_requirements: *id007
92
- - !ruby/object:Gem::Dependency
93
- name: bundler
94
119
  prerelease: false
95
- requirement: &id008 !ruby/object:Gem::Requirement
120
+ version_requirements: !ruby/object:Gem::Requirement
96
121
  none: false
97
- requirements:
122
+ requirements:
98
123
  - - ~>
99
- - !ruby/object:Gem::Version
124
+ - !ruby/object:Gem::Version
125
+ version: 0.7.0
126
+ - !ruby/object:Gem::Dependency
127
+ name: bundler
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
100
133
  version: 1.0.7
101
134
  type: :development
102
- version_requirements: *id008
103
- - !ruby/object:Gem::Dependency
104
- name: jeweler
105
135
  prerelease: false
106
- requirement: &id009 !ruby/object:Gem::Requirement
136
+ version_requirements: !ruby/object:Gem::Requirement
107
137
  none: false
108
- requirements:
138
+ requirements:
109
139
  - - ~>
110
- - !ruby/object:Gem::Version
140
+ - !ruby/object:Gem::Version
141
+ version: 1.0.7
142
+ - !ruby/object:Gem::Dependency
143
+ name: jeweler
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
111
149
  version: 1.6.4
112
150
  type: :development
113
- version_requirements: *id009
114
- - !ruby/object:Gem::Dependency
115
- name: simplecov
116
151
  prerelease: false
117
- requirement: &id010 !ruby/object:Gem::Requirement
152
+ version_requirements: !ruby/object:Gem::Requirement
118
153
  none: false
119
- requirements:
154
+ requirements:
120
155
  - - ~>
121
- - !ruby/object:Gem::Version
122
- version: "0.4"
156
+ - !ruby/object:Gem::Version
157
+ version: 1.6.4
158
+ - !ruby/object:Gem::Dependency
159
+ name: simplecov
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ~>
164
+ - !ruby/object:Gem::Version
165
+ version: '0.4'
123
166
  type: :development
124
- version_requirements: *id010
125
- - !ruby/object:Gem::Dependency
126
- name: vcr
127
167
  prerelease: false
128
- requirement: &id011 !ruby/object:Gem::Requirement
168
+ version_requirements: !ruby/object:Gem::Requirement
129
169
  none: false
130
- requirements:
170
+ requirements:
131
171
  - - ~>
132
- - !ruby/object:Gem::Version
172
+ - !ruby/object:Gem::Version
173
+ version: '0.4'
174
+ - !ruby/object:Gem::Dependency
175
+ name: vcr
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ~>
180
+ - !ruby/object:Gem::Version
133
181
  version: 1.11.3
134
182
  type: :development
135
- version_requirements: *id011
136
- - !ruby/object:Gem::Dependency
137
- name: webmock
138
183
  prerelease: false
139
- requirement: &id012 !ruby/object:Gem::Requirement
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: 1.11.3
190
+ - !ruby/object:Gem::Dependency
191
+ name: webmock
192
+ requirement: !ruby/object:Gem::Requirement
140
193
  none: false
141
- requirements:
194
+ requirements:
142
195
  - - ~>
143
- - !ruby/object:Gem::Version
196
+ - !ruby/object:Gem::Version
144
197
  version: 1.7.4
145
198
  type: :development
146
- version_requirements: *id012
147
- - !ruby/object:Gem::Dependency
148
- name: ruby-debug19
149
199
  prerelease: false
150
- requirement: &id013 !ruby/object:Gem::Requirement
200
+ version_requirements: !ruby/object:Gem::Requirement
151
201
  none: false
152
- requirements:
153
- - - ">="
154
- - !ruby/object:Gem::Version
155
- version: "0"
202
+ requirements:
203
+ - - ~>
204
+ - !ruby/object:Gem::Version
205
+ version: 1.7.4
206
+ - !ruby/object:Gem::Dependency
207
+ name: ruby-debug19
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ! '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
156
214
  type: :development
157
- version_requirements: *id013
158
- description: Ruby client for the Genability power pricing and related APIs - learn more at https://developer.genability.com
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ description: Ruby client for the Genability power pricing and related APIs - learn
223
+ more at https://developer.genability.com
159
224
  email: mattsolt@gmail.com
160
225
  executables: []
161
-
162
226
  extensions: []
163
-
164
- extra_rdoc_files:
227
+ extra_rdoc_files:
165
228
  - LICENSE.md
166
229
  - README.md
167
- files:
230
+ files:
168
231
  - .document
169
232
  - .rspec
170
233
  - .yardopts
@@ -228,32 +291,29 @@ files:
228
291
  - spec/genability_spec.rb
229
292
  - spec/spec_helper.rb
230
293
  homepage: http://github.com/activefx/genability
231
- licenses:
294
+ licenses:
232
295
  - MIT
233
296
  post_install_message:
234
297
  rdoc_options: []
235
-
236
- require_paths:
298
+ require_paths:
237
299
  - lib
238
- required_ruby_version: !ruby/object:Gem::Requirement
300
+ required_ruby_version: !ruby/object:Gem::Requirement
239
301
  none: false
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: "0"
244
- required_rubygems_version: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - ! '>='
304
+ - !ruby/object:Gem::Version
305
+ version: '0'
306
+ required_rubygems_version: !ruby/object:Gem::Requirement
245
307
  none: false
246
- requirements:
247
- - - ">="
248
- - !ruby/object:Gem::Version
249
- version: "0"
308
+ requirements:
309
+ - - ! '>'
310
+ - !ruby/object:Gem::Version
311
+ version: 1.3.1
250
312
  requirements: []
251
-
252
313
  rubyforge_project:
253
- rubygems_version: 1.8.11
314
+ rubygems_version: 1.8.24
254
315
  signing_key:
255
316
  specification_version: 3
256
317
  summary: Ruby client for the Genability API
257
318
  test_files: []
258
-
259
319
  has_rdoc: