time_zone_converter 0.2.2 → 0.2.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 +4 -4
- data/Gemfile.lock +5 -3
- data/README.md +27 -1
- data/lib/time_zone_converter.rb +7 -2
- data/lib/time_zone_converter/cli.rb +1 -1
- data/lib/time_zone_converter/version.rb +1 -1
- data/time_zone_converter.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9203b26c2098a8c002ad9edc24f867bd3089a1c772b68ec136ee7c477384ba5
|
4
|
+
data.tar.gz: 6dac940cca915e4da0e631a02de0d658cbdc6374d9ddee9e93a905ec98e25fa2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 602cc22d5a521bbc444fc1e542fcaa73d4d3c058d188ed58a3f711224dee70e5a305f141a8ce67ba32ffb61cbee033bc06df3a2b4bf2e43ae5003b1e526c240c
|
7
|
+
data.tar.gz: cc9245f61a6dfbbadf1c133f728d86db14d464e11fcd0a3c3e69beacf3f27b1e37fb16b4ebdb3fedbf059976f7363739e39ee43cc4c4048d98d72d6d3dd5ddca
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
time_zone_converter (0.2.
|
4
|
+
time_zone_converter (0.2.3)
|
5
5
|
activesupport
|
6
6
|
nearest_time_zone
|
7
7
|
oj
|
@@ -28,13 +28,13 @@ GEM
|
|
28
28
|
i18n (1.6.0)
|
29
29
|
concurrent-ruby (~> 1.0)
|
30
30
|
kdtree (0.4)
|
31
|
-
minitest (5.
|
31
|
+
minitest (5.12.2)
|
32
32
|
multi_json (1.13.1)
|
33
33
|
nearest_time_zone (0.0.4)
|
34
34
|
andand
|
35
35
|
kdtree
|
36
36
|
require_all
|
37
|
-
oj (3.9.
|
37
|
+
oj (3.9.2)
|
38
38
|
rake (10.5.0)
|
39
39
|
require_all (2.0.0)
|
40
40
|
rspec (3.8.0)
|
@@ -57,6 +57,7 @@ GEM
|
|
57
57
|
rspec-support (3.8.2)
|
58
58
|
thor (0.20.3)
|
59
59
|
thread_safe (0.3.6)
|
60
|
+
timecop (0.9.1)
|
60
61
|
tzinfo (1.2.5)
|
61
62
|
thread_safe (~> 0.1)
|
62
63
|
zeitwerk (2.1.10)
|
@@ -72,6 +73,7 @@ DEPENDENCIES
|
|
72
73
|
rspec (~> 3.0)
|
73
74
|
rspec-benchmark
|
74
75
|
time_zone_converter!
|
76
|
+
timecop
|
75
77
|
|
76
78
|
BUNDLED WITH
|
77
79
|
2.0.2
|
data/README.md
CHANGED
@@ -1,16 +1,42 @@
|
|
1
1
|
# TimeZoneConverter
|
2
2
|
|
3
|
+
A small gem that prints out the time in other locations.
|
4
|
+
It does support a multiple cities, but it may be a bit slow in that case.
|
5
|
+
Any ideas how to make it faster are highly welcomed.
|
6
|
+
|
7
|
+
Inspired by:
|
8
|
+
https://www.timeanddate.com/worldclock/converter.html
|
9
|
+
|
10
|
+
It uses cities data extracted from cities gem: https://github.com/joecorcoran/cities
|
11
|
+
For lat, long calculation it uses another gem: https://rubygems.org/gems/nearest_time_zone
|
12
|
+
|
3
13
|
## Usage:
|
4
14
|
|
15
|
+
### 'c' command: current time in other cities
|
5
16
|
```
|
6
17
|
time_zone_converter c Warszawa Bangkok
|
18
|
+
```
|
19
|
+
|
20
|
+
### 'ct' command: given time in other cities (formant 'HH:MM' 24-hour)
|
21
|
+
```
|
7
22
|
time_zone_converter ct 'Chiang Mai' Skopje '19:00'
|
23
|
+
```
|
24
|
+
|
25
|
+
### 'ctu' command: given UTC+0 time in other cities
|
26
|
+
```
|
8
27
|
time_zone_converter ctu Bangkok Warszawa '10:00'
|
9
28
|
```
|
10
29
|
|
30
|
+
|
31
|
+
### Output:
|
32
|
+
|
33
|
+
```
|
34
|
+
[["Warszawa", 2019-10-04 10:00:00 +0200], ["Bangkok", Fri, 04 Oct 2019 15:00:00 +07 +07:00]]
|
35
|
+
```
|
36
|
+
|
11
37
|
### Help:
|
12
38
|
|
13
39
|
```
|
14
40
|
time_zone_converter
|
15
41
|
time_zone_converter help c
|
16
|
-
```
|
42
|
+
```
|
data/lib/time_zone_converter.rb
CHANGED
@@ -12,7 +12,7 @@ module TimeZoneConverter
|
|
12
12
|
# Inspired by:
|
13
13
|
# https://stackoverflow.com/questions/8349817/ruby-gem-for-finding-timezone-of-location
|
14
14
|
|
15
|
-
def self.call(args, time
|
15
|
+
def self.call(args, time, method = :utc)
|
16
16
|
arr = Array.new
|
17
17
|
|
18
18
|
if method == :utc
|
@@ -21,7 +21,12 @@ module TimeZoneConverter
|
|
21
21
|
else # :local
|
22
22
|
# Get time with zone for the first city
|
23
23
|
time_zone = get_nearest_time_zone(args.first)
|
24
|
-
|
24
|
+
|
25
|
+
if time.nil?
|
26
|
+
time = Time.current.in_time_zone(time_zone)
|
27
|
+
else
|
28
|
+
time = string_to_time(time, time_zone)
|
29
|
+
end
|
25
30
|
|
26
31
|
# Add first item
|
27
32
|
arr << [args.first, time]
|
data/time_zone_converter.gemspec
CHANGED
@@ -32,6 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency "rake", "~> 10.0"
|
33
33
|
spec.add_development_dependency "rspec", "~> 3.0"
|
34
34
|
spec.add_development_dependency 'rspec-benchmark'
|
35
|
+
spec.add_development_dependency "timecop"
|
35
36
|
spec.add_development_dependency "byebug"
|
36
37
|
spec.add_development_dependency "cities"
|
37
38
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: time_zone_converter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rafał Trojanowski
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: timecop
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: byebug
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|