open-meteo 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 60140c0aa4f49166a8d9efef379ba7628fb663bd65c712018f7e2089f43677d5
4
- data.tar.gz: bd54e00eabe5518725f32b790e8da3257fc985e0e678d0220343ac528858fbe5
3
+ metadata.gz: df57745eac4454ef8165b7e202ac8b794ffa21e4e91f3a2888245fae72c2247d
4
+ data.tar.gz: a94961154f9f325b5194956236fe2153071d91711a194eabcf9b8968766183ba
5
5
  SHA512:
6
- metadata.gz: 17a87ed4b29b65f93ff21bfad1c2579f37faa5eb7677f7598da708438e1888d54729af4bd1946328a0b37dc14f8fef9711bab95ab3619ccc7e16b6e0c300302f
7
- data.tar.gz: 205a30320db01bf6406e69c02633c1799d81f660962b05d13749cb9f92c630044224833cd88bd1b46bcfaf85656b5067958fe94d636d92b861b7aed9bb5e82ec
6
+ metadata.gz: b3bc0b7c5530498b4a099503665e29c6f582aa4453a3bd564b612fa346ae56a18173f19e7a53677ba811015604a77eaaf408dbb52fde980afc6b887501843e22
7
+ data.tar.gz: f35900d202b03f878497d260ec54f6293f595a33848182b9ad106b587f60421124c9aa9b079605d4b62e4071743c883fa7dea3861354d98fe8502cb011700fb3
@@ -11,11 +11,11 @@ module OpenMeteo
11
11
  @config = config
12
12
  end
13
13
 
14
- def build_url(endpoint, *args)
14
+ def build_url(endpoint, path_params = {})
15
15
  relative_path = API_PATHS.fetch(endpoint.to_sym)
16
16
  full_path = [config.url, relative_path].join("/")
17
17
 
18
- URI::DEFAULT_PARSER.escape(format(full_path, args))
18
+ URI::DEFAULT_PARSER.escape(format(full_path, path_params))
19
19
  end
20
20
  end
21
21
  end
@@ -23,11 +23,11 @@ module OpenMeteo
23
23
  @agent = agent
24
24
  end
25
25
 
26
- def get(endpoint_name, *endpoint_args, **get_params)
27
- endpoint = url_builder.build_url(endpoint_name, *endpoint_args)
26
+ def get(endpoint_name, path_params: {}, query_params: {})
27
+ endpoint = url_builder.build_url(endpoint_name, path_params)
28
28
 
29
29
  agent.connect.get do |request|
30
- request.params = get_params.merge({ apikey: config.api_key }.compact)
30
+ request.params = query_params.merge({ apikey: config.api_key }.compact)
31
31
  request.url(endpoint)
32
32
  end
33
33
  rescue Faraday::ConnectionFailed => e
@@ -12,7 +12,7 @@ module OpenMeteo
12
12
  OpenMeteo::Entities::Contracts::LocationContract.validate!(to_hash)
13
13
  end
14
14
 
15
- def to_get_params
15
+ def to_query_params
16
16
  { latitude:, longitude: }
17
17
  end
18
18
  end
@@ -20,7 +20,7 @@ module OpenMeteo
20
20
  conn.options[:open_timeout] = config.timeouts[:open_timeout]
21
21
 
22
22
  conn.request :retry, RETRY_OPTIONS
23
- conn.response :logger
23
+ conn.response :logger, config.logger
24
24
  end
25
25
  end
26
26
  end
@@ -25,15 +25,18 @@ module OpenMeteo
25
25
  :models,
26
26
  OpenMeteo::Types::Strict::Array.of(OpenMeteo::Types::Strict::Symbol).default([].freeze),
27
27
  )
28
+ attribute(:timezone, OpenMeteo::Types::Strict::String.optional.default(nil))
28
29
 
29
- def to_get_params
30
- get_params = {}
30
+ def to_query_params
31
+ query_params = {}
31
32
 
32
33
  %i[current minutely_15 hourly daily models].each do |key|
33
- get_params[key] = send(key).join(",") if send(key) != []
34
+ query_params[key] = send(key).join(",") if send(key) != []
34
35
  end
35
36
 
36
- get_params
37
+ %i[timezone].each { |key| query_params[key] = send(key) if send(key) }
38
+
39
+ query_params
37
40
  end
38
41
  end
39
42
  end
@@ -57,8 +57,8 @@ module OpenMeteo
57
57
  end
58
58
 
59
59
  def get_forecast(endpoint, location, variables)
60
- get_params = { **location.to_get_params, **variables.to_get_params }
61
- response = client.get(endpoint, **get_params)
60
+ query_params = { **location.to_query_params, **variables.to_query_params }
61
+ response = client.get(endpoint, query_params:)
62
62
 
63
63
  @response_wrapper.wrap(response, entity: OpenMeteo::Entities::Forecast)
64
64
  end
@@ -1,3 +1,3 @@
1
1
  module OpenMeteo
2
- VERSION = "0.3.2".freeze
2
+ VERSION = "0.3.3".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: open-meteo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Morgenstern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-21 00:00:00.000000000 Z
11
+ date: 2024-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-struct