barometer 0.9.4 → 0.9.5

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 (36) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +2 -5
  3. data/Gemfile +11 -7
  4. data/LICENSE +1 -1
  5. data/README.md +3 -3
  6. data/barometer.gemspec +7 -10
  7. data/lib/barometer/utils/json_reader.rb +2 -3
  8. data/lib/barometer/utils/payload.rb +6 -87
  9. data/lib/barometer/utils/translations/zone_codes.yml +1 -0
  10. data/lib/barometer/version.rb +1 -1
  11. data/lib/barometer/weather_service.rb +0 -1
  12. data/spec/barometer_spec.rb +6 -0
  13. data/spec/spec_helper.rb +0 -11
  14. data/spec/utils/payload_spec.rb +20 -153
  15. data/spec/weather_services/wunderground_v1/current_response_spec.rb +5 -4
  16. data/spec/weather_services/wunderground_v1/forecast_response_spec.rb +23 -22
  17. metadata +32 -170
  18. data/.pelusa.yml +0 -7
  19. data/lib/barometer/weather_services/weather_bug.rb +0 -41
  20. data/lib/barometer/weather_services/weather_bug/current_api.rb +0 -26
  21. data/lib/barometer/weather_services/weather_bug/current_response.rb +0 -33
  22. data/lib/barometer/weather_services/weather_bug/forecast_api.rb +0 -26
  23. data/lib/barometer/weather_services/weather_bug/forecast_response.rb +0 -29
  24. data/lib/barometer/weather_services/weather_bug/query.rb +0 -42
  25. data/lib/barometer/weather_services/weather_bug/response/current_weather.rb +0 -82
  26. data/lib/barometer/weather_services/weather_bug/response/forecasted_weather.rb +0 -67
  27. data/lib/barometer/weather_services/weather_bug/response/location.rb +0 -23
  28. data/lib/barometer/weather_services/weather_bug/response/station.rb +0 -43
  29. data/lib/barometer/weather_services/weather_bug/response/sun.rb +0 -32
  30. data/lib/barometer/weather_services/weather_bug/response/time_helper.rb +0 -52
  31. data/lib/barometer/weather_services/weather_bug/response/timezone.rb +0 -15
  32. data/spec/cassettes/WeatherService_WeatherBug.json +0 -1
  33. data/spec/weather_services/weather_bug/current_response_spec.rb +0 -64
  34. data/spec/weather_services/weather_bug/forecast_response_spec.rb +0 -23
  35. data/spec/weather_services/weather_bug/query_spec.rb +0 -44
  36. data/spec/weather_services/weather_bug_spec.rb +0 -80
@@ -2,14 +2,15 @@ require_relative '../../spec_helper'
2
2
 
3
3
  module Barometer::WeatherService
4
4
  describe WundergroundV1::CurrentResponse do
5
- it "parses the timezones correctly" do
5
+ it 'parses the timezones correctly' do
6
6
  payload = Barometer::Utils::Payload.new({
7
- "local_time" => "May 18, 10:46 AM PDT"
7
+ 'local_time' => 'May 18, 10:46 AM PDT'
8
8
  })
9
9
  response = WundergroundV1::CurrentResponse.new.parse(payload)
10
10
 
11
- utc_observed_at = Time.utc(2013,5,18,17,46,0)
12
- utc_stale_at = Time.utc(2013,5,18,18,0,0)
11
+ current_year = Time.now.year
12
+ utc_observed_at = Time.utc(current_year,5,18,17,46,0)
13
+ utc_stale_at = Time.utc(current_year,5,18,18,0,0)
13
14
 
14
15
  expect( response.current.observed_at.utc ).to eq utc_observed_at
15
16
  expect( response.current.stale_at.utc ).to eq utc_stale_at
@@ -2,56 +2,57 @@ require_relative '../../spec_helper'
2
2
 
3
3
  module Barometer::WeatherService
4
4
  describe WundergroundV1::ForecastResponse do
5
+ let(:current_year) { Time.now.year }
5
6
  let(:current_response) { Barometer::Response.new }
6
7
 
7
- it "parses the timezones correctly" do
8
+ it 'parses the timezones correctly' do
8
9
  payload = Barometer::Utils::Payload.new({
9
- "simpleforecast" => { "forecastday" => [
10
+ 'simpleforecast' => { 'forecastday' => [
10
11
  {
11
- "date" => {
12
- "tz_long" => 'America/Los_Angeles',
13
- "pretty" => '10:46 PM PDT on May 18, 2013'
12
+ 'date' => {
13
+ 'tz_long' => 'America/Los_Angeles',
14
+ 'pretty' => "10:46 PM PDT on May 18, #{current_year}"
14
15
  }
15
16
  }
16
17
  ]}
17
18
  })
18
19
  response = WundergroundV1::ForecastResponse.new(current_response).parse(payload)
19
20
 
20
- utc_starts_at = Time.utc(2013,5,19,5,46,0)
21
- utc_ends_at = Time.utc(2013,5,20,5,45,59)
21
+ utc_starts_at = Time.utc(current_year,5,19,5,46,0)
22
+ utc_ends_at = Time.utc(current_year,5,20,5,45,59)
22
23
 
23
24
  expect( response.forecast[0].starts_at.utc ).to eq utc_starts_at
24
25
  expect( response.forecast[0].ends_at.utc ).to eq utc_ends_at
25
26
  expect( response.timezone.to_s ).to eq 'America/Los_Angeles'
26
27
  end
27
28
 
28
- it "parses sun timezones correctly" do
29
+ it 'parses sun timezones correctly' do
29
30
  current_response.current = Barometer::Response::Current.new
30
- current_response.current.observed_at = Barometer::Utils::Time.parse("May 18, 10:46 AM PDT")
31
+ current_response.current.observed_at = Barometer::Utils::Time.parse('May 18, 10:46 AM PDT')
31
32
  payload = Barometer::Utils::Payload.new({
32
- "simpleforecast" => { "forecastday" => [
33
+ 'simpleforecast' => { 'forecastday' => [
33
34
  {
34
- "date" => {
35
- "tz_long" => 'America/Los_Angeles',
36
- "pretty" => '10:46 PM PDT on May 18, 2013'
35
+ 'date' => {
36
+ 'tz_long' => 'America/Los_Angeles',
37
+ 'pretty' => "10:46 PM PDT on May 18, #{current_year}"
37
38
  }
38
39
  }
39
40
  ]},
40
- "moon_phase" => {
41
- "sunrise" => {
42
- "hour" => '7', "minute" => '59'
41
+ 'moon_phase' => {
42
+ 'sunrise' => {
43
+ 'hour' => '7', 'minute' => '59'
43
44
  },
44
- "sunset" => {
45
- "hour" => '17', "minute" => '42'
45
+ 'sunset' => {
46
+ 'hour' => '17', 'minute' => '42'
46
47
  }
47
48
  }
48
49
  })
49
50
  response = WundergroundV1::ForecastResponse.new(current_response).parse(payload)
50
51
 
51
- utc_current_sun_rise = Time.utc(2013,5,18,14,59,0)
52
- utc_current_sun_set = Time.utc(2013,5,19,0,42,0)
53
- utc_forecast_sun_rise = Time.utc(2013,5,19,14,59,0)
54
- utc_forecast_sun_set = Time.utc(2013,5,20,0,42,0)
52
+ utc_current_sun_rise = Time.utc(current_year,5,18,14,59,0)
53
+ utc_current_sun_set = Time.utc(current_year,5,19,0,42,0)
54
+ utc_forecast_sun_rise = Time.utc(current_year,5,19,14,59,0)
55
+ utc_forecast_sun_set = Time.utc(current_year,5,20,0,42,0)
55
56
 
56
57
  expect( response.current.sun.rise.utc ).to eq utc_current_sun_rise
57
58
  expect( response.current.sun.set.utc ).to eq utc_current_sun_set
metadata CHANGED
@@ -1,250 +1,136 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: barometer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
5
- prerelease:
4
+ version: 0.9.5
6
5
  platform: ruby
7
6
  authors:
8
- - Mark G
7
+ - Mark Gangl
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-11-27 00:00:00.000000000 Z
11
+ date: 2014-04-13 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: httpclient
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: tzinfo
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: 0.3.14
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: 0.3.14
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: nokogiri
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: addressable
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - ">="
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: yajl-ruby
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
86
- type: :runtime
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
66
+ - - ">="
92
67
  - !ruby/object:Gem::Version
93
68
  version: '0'
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: nori
96
71
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
72
  requirements:
99
- - - ! '>='
73
+ - - ">="
100
74
  - !ruby/object:Gem::Version
101
75
  version: '0'
102
76
  type: :runtime
103
77
  prerelease: false
104
78
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
79
  requirements:
107
- - - ! '>='
80
+ - - ">="
108
81
  - !ruby/object:Gem::Version
109
82
  version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: multi_json
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ~>
116
- - !ruby/object:Gem::Version
117
- version: '1.0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ~>
124
- - !ruby/object:Gem::Version
125
- version: '1.0'
126
83
  - !ruby/object:Gem::Dependency
127
84
  name: virtus
128
85
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
86
  requirements:
131
- - - ! '>='
87
+ - - ">="
132
88
  - !ruby/object:Gem::Version
133
89
  version: 1.0.0
134
90
  type: :runtime
135
91
  prerelease: false
136
92
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
93
  requirements:
139
- - - ! '>='
94
+ - - ">="
140
95
  - !ruby/object:Gem::Version
141
96
  version: 1.0.0
142
97
  - !ruby/object:Gem::Dependency
143
- name: rspec
144
- requirement: !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
149
- version: '2.11'
150
- type: :development
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: '2.11'
158
- - !ruby/object:Gem::Dependency
159
- name: webmock
98
+ name: choc_mool
160
99
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
100
  requirements:
163
- - - ! '>='
101
+ - - ">="
164
102
  - !ruby/object:Gem::Version
165
103
  version: '0'
166
- type: :development
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- - !ruby/object:Gem::Dependency
175
- name: rake
176
- requirement: !ruby/object:Gem::Requirement
177
- none: false
178
- requirements:
179
- - - ! '>='
180
- - !ruby/object:Gem::Version
181
- version: '0'
182
- type: :development
183
- prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
- requirements:
187
- - - ! '>='
188
- - !ruby/object:Gem::Version
189
- version: '0'
190
- - !ruby/object:Gem::Dependency
191
- name: pry
192
- requirement: !ruby/object:Gem::Requirement
193
- none: false
194
- requirements:
195
- - - ! '>='
196
- - !ruby/object:Gem::Version
197
- version: '0'
198
- type: :development
199
- prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
- requirements:
203
- - - ! '>='
204
- - !ruby/object:Gem::Version
205
- version: '0'
206
- - !ruby/object:Gem::Dependency
207
- name: vcr
208
- requirement: !ruby/object:Gem::Requirement
209
- none: false
210
- requirements:
211
- - - ! '>='
212
- - !ruby/object:Gem::Version
213
- version: '0'
214
- type: :development
104
+ type: :runtime
215
105
  prerelease: false
216
106
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
107
  requirements:
219
- - - ! '>='
108
+ - - ">="
220
109
  - !ruby/object:Gem::Version
221
110
  version: '0'
222
111
  - !ruby/object:Gem::Dependency
223
- name: barometer-support
112
+ name: bundler
224
113
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
114
  requirements:
227
- - - ! '>='
115
+ - - ">="
228
116
  - !ruby/object:Gem::Version
229
117
  version: '0'
230
118
  type: :development
231
119
  prerelease: false
232
120
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
121
  requirements:
235
- - - ! '>='
122
+ - - ">="
236
123
  - !ruby/object:Gem::Version
237
124
  version: '0'
238
125
  description: A multi API consuming weather forecasting superstar.
239
126
  email:
240
- - barometer@attackcorp.com
127
+ - mark@attackcorp.com
241
128
  executables: []
242
129
  extensions: []
243
130
  extra_rdoc_files: []
244
131
  files:
245
- - .gitignore
246
- - .pelusa.yml
247
- - .travis.yml
132
+ - ".gitignore"
133
+ - ".travis.yml"
248
134
  - Gemfile
249
135
  - LICENSE
250
136
  - README.md
@@ -355,19 +241,6 @@ files:
355
241
  - lib/barometer/weather_services/response.rb
356
242
  - lib/barometer/weather_services/response/location.rb
357
243
  - lib/barometer/weather_services/response/time_zone.rb
358
- - lib/barometer/weather_services/weather_bug.rb
359
- - lib/barometer/weather_services/weather_bug/current_api.rb
360
- - lib/barometer/weather_services/weather_bug/current_response.rb
361
- - lib/barometer/weather_services/weather_bug/forecast_api.rb
362
- - lib/barometer/weather_services/weather_bug/forecast_response.rb
363
- - lib/barometer/weather_services/weather_bug/query.rb
364
- - lib/barometer/weather_services/weather_bug/response/current_weather.rb
365
- - lib/barometer/weather_services/weather_bug/response/forecasted_weather.rb
366
- - lib/barometer/weather_services/weather_bug/response/location.rb
367
- - lib/barometer/weather_services/weather_bug/response/station.rb
368
- - lib/barometer/weather_services/weather_bug/response/sun.rb
369
- - lib/barometer/weather_services/weather_bug/response/time_helper.rb
370
- - lib/barometer/weather_services/weather_bug/response/timezone.rb
371
244
  - lib/barometer/weather_services/wunderground_v1.rb
372
245
  - lib/barometer/weather_services/wunderground_v1/current_api.rb
373
246
  - lib/barometer/weather_services/wunderground_v1/current_response.rb
@@ -406,7 +279,6 @@ files:
406
279
  - spec/cassettes/Service_YahooGeocode.json
407
280
  - spec/cassettes/WeatherService_ForecastIo.json
408
281
  - spec/cassettes/WeatherService_Noaa.json
409
- - spec/cassettes/WeatherService_WeatherBug.json
410
282
  - spec/cassettes/WeatherService_WundergroundV1.json
411
283
  - spec/cassettes/WeatherService_Yahoo.json
412
284
  - spec/data/attributes/distance_spec.rb
@@ -473,10 +345,6 @@ files:
473
345
  - spec/weather_services/noaa/current_response_spec.rb
474
346
  - spec/weather_services/noaa/forecast_response_spec.rb
475
347
  - spec/weather_services/noaa_spec.rb
476
- - spec/weather_services/weather_bug/current_response_spec.rb
477
- - spec/weather_services/weather_bug/forecast_response_spec.rb
478
- - spec/weather_services/weather_bug/query_spec.rb
479
- - spec/weather_services/weather_bug_spec.rb
480
348
  - spec/weather_services/wunderground_v1/current_response_spec.rb
481
349
  - spec/weather_services/wunderground_v1/forecast_response_spec.rb
482
350
  - spec/weather_services/wunderground_v1_spec.rb
@@ -487,28 +355,27 @@ files:
487
355
  homepage: http://github.com/attack/barometer
488
356
  licenses:
489
357
  - MIT
358
+ metadata: {}
490
359
  post_install_message:
491
360
  rdoc_options:
492
- - --charset=UTF-8
361
+ - "--charset=UTF-8"
493
362
  require_paths:
494
363
  - lib
495
364
  required_ruby_version: !ruby/object:Gem::Requirement
496
- none: false
497
365
  requirements:
498
- - - ! '>='
366
+ - - ">="
499
367
  - !ruby/object:Gem::Version
500
- version: '0'
368
+ version: 1.9.0
501
369
  required_rubygems_version: !ruby/object:Gem::Requirement
502
- none: false
503
370
  requirements:
504
- - - ! '>='
371
+ - - ">="
505
372
  - !ruby/object:Gem::Version
506
373
  version: '0'
507
374
  requirements: []
508
375
  rubyforge_project:
509
- rubygems_version: 1.8.23
376
+ rubygems_version: 2.2.2
510
377
  signing_key:
511
- specification_version: 3
378
+ specification_version: 4
512
379
  summary: A multi API consuming weather forecasting superstar.
513
380
  test_files:
514
381
  - spec/barometer_spec.rb
@@ -527,7 +394,6 @@ test_files:
527
394
  - spec/cassettes/Service_YahooGeocode.json
528
395
  - spec/cassettes/WeatherService_ForecastIo.json
529
396
  - spec/cassettes/WeatherService_Noaa.json
530
- - spec/cassettes/WeatherService_WeatherBug.json
531
397
  - spec/cassettes/WeatherService_WundergroundV1.json
532
398
  - spec/cassettes/WeatherService_Yahoo.json
533
399
  - spec/data/attributes/distance_spec.rb
@@ -594,10 +460,6 @@ test_files:
594
460
  - spec/weather_services/noaa/current_response_spec.rb
595
461
  - spec/weather_services/noaa/forecast_response_spec.rb
596
462
  - spec/weather_services/noaa_spec.rb
597
- - spec/weather_services/weather_bug/current_response_spec.rb
598
- - spec/weather_services/weather_bug/forecast_response_spec.rb
599
- - spec/weather_services/weather_bug/query_spec.rb
600
- - spec/weather_services/weather_bug_spec.rb
601
463
  - spec/weather_services/wunderground_v1/current_response_spec.rb
602
464
  - spec/weather_services/wunderground_v1/forecast_response_spec.rb
603
465
  - spec/weather_services/wunderground_v1_spec.rb