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 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