myweatherforecast 0.2.1 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c9481c585541381ffdd0f2438c3c6cd544de517
4
- data.tar.gz: 9ed410b8543dcce6a68fc5584d2391f688bb8150
3
+ metadata.gz: 93c3e36f8033e7eabc0485df30f2c3c2dd71aee7
4
+ data.tar.gz: 80958f8cb9d2474d34688a966fd1e0c0d3626973
5
5
  SHA512:
6
- metadata.gz: c76d8341b125144e9b6292aa26ab663479d05cacbd4e71db79f8c284459d2acd417d7d5b71df84637cf97ce0fedace106c32adccfcb513ad6ee4219f7dac90f4
7
- data.tar.gz: 887b2ce647d2fdf2003a71fd3e92ac3694cf4a411a6e12bd4f1e77680e98fb35dc890a3c8a2259c612e22d17d6c6be26e80f3a1955950159057470fbafadb25b
6
+ metadata.gz: f55f4b2838c35cec9e250d302e66085c651f5264203c8ef54e472ecc3b0464c1365c78a73e7e80d3182710941bc789beac0eb93567167c1bf474b9ad7b169d95
7
+ data.tar.gz: 039dfc0543cd1e003e2a17dff23cf833fd2c5cc768ac1eea845bca6a32263de73a6959258d7703400dd1b7c084751f7b6aa774fc596dd7a5ea30259d2e963ec2
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -2,28 +2,40 @@
2
2
 
3
3
  # file: myweatherforecast.rb
4
4
 
5
- require 'forecast_io'
6
5
  require 'time'
6
+ require 'geocoder'
7
+ require 'forecast_io'
8
+
9
+
7
10
 
8
11
  # This gem is a wrapper of the forecast_io gem
9
12
  # SI explained: https://en.wikipedia.org/wiki/SI_derived_unit
10
13
 
11
14
  class MyWeatherForecast
12
15
 
13
- def initialize(lat, lon, api_key: nil, si: true)
16
+ def initialize(*location, api_key: nil, units: :auto)
17
+
18
+ lat, lon = if location.length > 1 then
19
+
20
+ location
21
+
22
+ else
23
+
24
+ results = Geocoder.search(location.first)
25
+ return puts 'location not found' unless results.any?
26
+ results[0].coordinates
27
+
28
+ end
14
29
 
15
30
  ForecastIO.api_key = api_key
16
-
17
-
18
- if si then
19
- params = { units: 'si' }
20
- @tlabel = '°C'
21
- else
22
- params = {}
23
- @tlabel = '°F'
24
- end
25
31
 
32
+ params = { units: units.to_s }
26
33
  @forecast = ForecastIO.forecast(lat, lon, params: params)
34
+
35
+ autounits = @forecast['flags']['units']
36
+
37
+ @tlabel = autounits == 'us' ? '°F' : '°C'
38
+
27
39
  end
28
40
 
29
41
  class Day
@@ -100,9 +112,11 @@ class MyWeatherForecast
100
112
 
101
113
  # select tomorrow at midday
102
114
  i = 0
115
+
116
+ i += 7 if Time.at(@forecast['hourly']['data'][i]['time']).hour >= 6
117
+
103
118
  i += 1 until Time.at(@forecast['hourly']['data'][i]['time']).hour == 12
104
119
  DaysAhead.new(@forecast, @tlabel, index: i)
105
120
  end
106
121
 
107
- end
108
-
122
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myweatherforecast
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -53,6 +53,26 @@ dependencies:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: 2.0.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: geocoder
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '1.2'
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 1.2.11
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '1.2'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 1.2.11
56
76
  description:
57
77
  email: james@r0bertson.co.uk
58
78
  executables: []
metadata.gz.sig CHANGED
Binary file