open-meteo 0.3.2 → 0.3.3

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
  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