time_zone_converter 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|