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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b623ee8173d1ac3cdaa2d25edc40252957d4e6aeb486f2cb53a5c16a9f23d66d
4
- data.tar.gz: '07840b75654fa44888669345c7201d80d35906d26b27d6aa14234fcc2c51a697'
3
+ metadata.gz: d9203b26c2098a8c002ad9edc24f867bd3089a1c772b68ec136ee7c477384ba5
4
+ data.tar.gz: 6dac940cca915e4da0e631a02de0d658cbdc6374d9ddee9e93a905ec98e25fa2
5
5
  SHA512:
6
- metadata.gz: 7559776e8e93dd310b8caca8346792b76a60bafc1af688a928568adb694642e5c354b858be441da976bf55e9704eb85d0c5bb70ea56d410af04d21c827154d66
7
- data.tar.gz: 8c03b4b3cbd8ee002ffb1208a4a2992b1ae77c32f11cd3b9b82f2cff6b11957715cb5136f4ad2461a2e3e2d1459b1f9dfe43b2cceb6a98af62cf75b8d663dc57
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.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.11.3)
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.1)
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
+ ```
@@ -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 = Time.current, method = :utc)
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
- time = string_to_time(time, time_zone)
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]
@@ -21,7 +21,7 @@ module TimeZoneConverter
21
21
  ]
22
22
  LONGDESC
23
23
  def c(*args)
24
- puts TimeZoneConverter.call(args, Time.current, :local).inspect
24
+ puts TimeZoneConverter.call(args, nil, :local).inspect
25
25
  end
26
26
 
27
27
  desc 'ct', "Given time in a cities"
@@ -1,3 +1,3 @@
1
1
  module TimeZoneConverter
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -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.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-09-17 00:00:00.000000000 Z
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