world_time_api 0.1.3 → 0.1.4

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: 688543e3e6815aded60389f8381436089c6eb712fc5f65468679f7c5e46a5791
4
- data.tar.gz: a9d28f71ad6119736a10ef6a65d93319df4b0cd644730f25b5a66be952a1d176
3
+ metadata.gz: 1a07c38ca8b3c1b3f90de1eb502924a65c1430eee681ff040ae9bf7e4135f168
4
+ data.tar.gz: 69f7536f3483dd8e0a25a2e4a5db82c686eb095db380dd98a8d8a7f3cb6689cb
5
5
  SHA512:
6
- metadata.gz: f8ae900b130a2aceffed6da40ea2a3e5e21d1503e86d144d08fed88da6dfb230f64cc514130f0ccc290c3aba02f64bf3fed2cde30ed55698d65f84eec6f7a620
7
- data.tar.gz: d113975484b37528c64d2d78c97a755c223ec8d9442cfb5aa96a496dd5b6ced41b2d51b9b72ec95aeb0ca5ebae12325576cd43f8b4396cd59777de98a0b4475a
6
+ metadata.gz: f87097a455ed233f09c273bb5ab726e10ce663ada0bdafa199d64e484e53033ae8aac3808d38ff85c204251463143d1e8c1ce489302c75f364475ccd6125297e
7
+ data.tar.gz: 9653883401724d52ae46c673d1b5a620bc1606280fdc1b6999fc21c9b2d6cc570eb63a1964105b82d0aa277ccea3a31b257dc0e93ef37a71b4ec80837fab2b75
data/CHANGELOG.md CHANGED
@@ -8,6 +8,10 @@
8
8
 
9
9
  - add methods :time and :timezones
10
10
 
11
- # [0.1.2] - 2023-02-06
11
+ ## [0.1.2] - 2023-02-06
12
12
 
13
13
  - Fix response
14
+
15
+ ## [0.1.3] - 2023-02-12
16
+
17
+ * add new method :client_ip
data/README.md CHANGED
@@ -12,24 +12,26 @@ gem 'world_time_api'
12
12
 
13
13
  And then execute:
14
14
 
15
- ```
16
- $ bundle install
15
+ ```bash
16
+ bundle install
17
17
  ```
18
18
 
19
19
  Or install it yourself as:
20
20
 
21
- ```
22
- $ gem install world_time_api
21
+ ```bash
22
+ gem install world_time_api
23
23
  ```
24
24
 
25
25
  ## Usage
26
26
 
27
27
  ```ruby
28
- WorldTimeApi.timezones # list timezones
28
+ WorldTimeApi::Timezones.call # list timezones
29
29
 
30
- WorldTimeApi.time(time_zone) # get datetime of the timezone
30
+ WorldTimeApi::Time.call(time_zone) # get datetime of the timezone
31
31
 
32
+ WorldTimeApi::ClientIp.call # get datetime by your client ip
32
33
 
34
+ WorldTimeApi::ClientIp.call(ip_address) # get datatime by ip address
33
35
  ```
34
36
 
35
37
  ## Development
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WorldTimeApi
4
+ Error = -> (message) { { error: message } }
5
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "response"
4
+ require_relative "error"
5
+ require 'httparty'
6
+
7
+ module WorldTimeApi
8
+ module Request
9
+ include HTTParty
10
+
11
+ base_uri "http://worldtimeapi.org/api"
12
+
13
+ Call = ->(url) {
14
+ begin
15
+ response = get(url)
16
+
17
+ return WorldTimeApi::Error["Invalid timezone"] if response.code != 200
18
+
19
+ WorldTimeApi::Response[response]
20
+ rescue StandardError
21
+ WorldTimeApi::Error["Connection error"]
22
+ end
23
+ }
24
+ end
25
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+
5
+ module WorldTimeApi
6
+ Response = -> (response) { JSON.parse(response.body) }
7
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WorldTimeApi
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.4"
5
5
  end
@@ -1,38 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "world_time_api/version"
4
+ require_relative "world_time_api/request"
5
+
4
6
  require "httparty"
5
7
 
6
8
  # module WorldTimeAPi
7
9
  module WorldTimeApi
8
- include HTTParty
9
-
10
- base_uri "http://worldtimeapi.org/api"
11
-
12
- def self.timezones
13
- response = get("/timezone")
14
- return "Consult Error" if response.code != 200
15
-
16
- response.parsed_response
17
- rescue StandardError
18
- "Error of connection"
19
- end
20
-
21
- def self.time(zone_name)
22
- response = get("/timezone/#{zone_name}")
23
- return "Invalid Zone Name" if response.code != 200
24
10
 
25
- response.parsed_response
26
- rescue StandardError
27
- "Error of connection"
28
- end
11
+ Timezones = -> { Request::Call["/timezone"] }
29
12
 
30
- def self.client_ip(ip = nil)
31
- response = ip.nil? ? get("/ip") : get("/ip/#{ip}")
32
- return "Invalid IP" if response.code != 200
13
+ Time = -> (timezone) { Request::Call["/timezone/#{timezone}"] }
33
14
 
34
- response.parsed_response
35
- rescue StandardError
36
- "Error of connection"
37
- end
15
+ ClientIp = -> (ip = nil) { Request::Call["/ip#{ip ? "/#{ip}" : ''}"] }
38
16
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: world_time_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alef Ojeda de Oliveira
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-12 00:00:00.000000000 Z
11
+ date: 2023-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -64,6 +64,9 @@ files:
64
64
  - LICENSE.txt
65
65
  - README.md
66
66
  - lib/world_time_api.rb
67
+ - lib/world_time_api/error.rb
68
+ - lib/world_time_api/request.rb
69
+ - lib/world_time_api/response.rb
67
70
  - lib/world_time_api/version.rb
68
71
  homepage: https://github.com/nemuba/world_time_api
69
72
  licenses: