countriesdb-validator 1.0.0 → 1.0.1

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: fe17836873cfdf5121f0ed749ae6ab13302c3f2341533bfef346a5254fff8e24
4
- data.tar.gz: be1c0723cf2f27ba93c8565d7dba18c42dc33a75a67ed7b3426c7060544216e2
3
+ metadata.gz: 6853e5839dca278a8cac3fb206ab42203eb33fe13c178ef542952d430d907789
4
+ data.tar.gz: 9f54b23120c2910f4554f734fe466507a435811eb44417de54121c668f40fe67
5
5
  SHA512:
6
- metadata.gz: 53fa0e51b86cc0ef0d255fb8da6583ecf65b0e7c3f56bfe27d8a89b47663861193bdf9fb6cba4ec96ca47982a0f5811e60f5cefc4265244e2fe13bd2093c3838
7
- data.tar.gz: 55bb861b16609100657fd11fa4f60903a341e0c057d2451f0edbaa537af412a3960fc327e901726bd44f20ce9d6a27a3bea1009d443e332086f37bf9f292d5e7
6
+ metadata.gz: f8c8152a572eab9bb548450fb9fbcda71c8946785b905314880bd286d68208d6e68b08f45e5a04fecca7f1c21ca160552fea53d992b9df0e9047b35dc93d3bd2
7
+ data.tar.gz: cf4ebb9de7fc0973fe3842df711c7cb40be1d6065db932f9b17cbe4dd826664d48a3ff888ad9f7f679eb4015b724d826ab4b31583ee26ca44b1c533f06614fa6
@@ -126,7 +126,9 @@ module CountriesDB
126
126
  raise StandardError, error_data['message'] || "HTTP Error: #{response.code}"
127
127
  end
128
128
 
129
- JSON.parse(response.body)
129
+ # Convert JSON response to hash with symbol keys
130
+ json_response = JSON.parse(response.body)
131
+ symbolize_keys(json_response)
130
132
  rescue Net::OpenTimeout, Net::ReadTimeout => e
131
133
  raise TimeoutError, "Request timeout: #{e.message}"
132
134
  rescue Net::HTTPError, SocketError, Errno::ECONNREFUSED, Errno::EHOSTUNREACH => e
@@ -138,6 +140,19 @@ module CountriesDB
138
140
  def invalid_result(message)
139
141
  { valid: false, message: message }
140
142
  end
143
+
144
+ def symbolize_keys(obj)
145
+ case obj
146
+ when Hash
147
+ obj.each_with_object({}) do |(key, value), result|
148
+ result[key.to_sym] = symbolize_keys(value)
149
+ end
150
+ when Array
151
+ obj.map { |item| symbolize_keys(item) }
152
+ else
153
+ obj
154
+ end
155
+ end
141
156
  end
142
157
 
143
158
  # Exception for validation errors
@@ -1,5 +1,5 @@
1
1
  module CountriesDB
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
4
4
 
5
5
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: countriesdb-validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - NAYEE LLC