utc_converter_tool 0.0.2

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 ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NTc3MDU4MzJkY2Y2OTNmYzE3YTgzNzAyYzQ0OGUyN2JlYjcwNGZlZg==
5
+ data.tar.gz: !binary |-
6
+ YjZlZjFlZDlmNzhmZWNmZGI3ZjkyZTVlYTliNWU0Y2JiMTNlY2Y0MQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ NjY1MjBkMGM3Nzg5NmQyM2I3ODAwYWQ2OTQwODg1MjcxMTUxN2Q5NGU3NTUw
10
+ YmZkNGEwMjlmMjg2OGNlOTQ0YmRmNTc0ZTI5M2Q5ZGJmYWMyODBlY2U2OWZm
11
+ MTFjYTMxODkzZmM4NmUxYTQyY2RlMjYxMTJhZWM5ZTRlNDI5Nzg=
12
+ data.tar.gz: !binary |-
13
+ NGNjZjc5MGRkNjBjMmE0OTMyNDY2NDlhM2I4MDQ5MGJjZmQyOGJjZDNiNTQx
14
+ ZWNlNjVkNTA5YjhiMGI2ODg1MjAxMDFhODE2YWUxNzIwYmJjMjUwNzI3NjIz
15
+ NGEzYWY5ZDVlNWY1NWZiNmY0OTQ3ZTg4YzJlYzc4MmNlYmFlYjM=
data/lib/README.md ADDED
@@ -0,0 +1,17 @@
1
+ time_converter
2
+ ==============
3
+
4
+ Converts 24 hr UTC time into USA Time
5
+
6
+ Description:
7
+ The goal of this app is to take the default UTC time and convert it to your choice of USA time ('PST', 'EST', 'CST' etc....).
8
+ Currently, you can see that if you create a new senario and/or alter a current scenario in the .features file the app will successfully
9
+ convert your time (hours:minutes:seconds ex: 12:00:00) to the selected USA format.
10
+
11
+ My eventual goal for this gem is to convert UTC time to any time zone in the world but have yet to complete that work. Also, in its
12
+ current state daylight savings is not fully implemented so the conversion is currently happening in a non-daylight savings time scenario.
13
+ Obviously this is my next phase to make this app actually useful. This update will involve knowing the daylight savings dates for each given
14
+ year and converting according to what year is chosen.
15
+
16
+ I can see this program eventually being hooked up to a simple front end UI where the user can select a time (current, future or past time),
17
+ a date and the desired time zone and will return the accurate time conversion upon clicking the 'convert' button available.
@@ -0,0 +1,80 @@
1
+ class Time_Converter
2
+
3
+ require 'date'
4
+ #list of Time zones and their UTC Offset
5
+ UTC_HOUR_OFFSET = {'HST'=>-10, 'AKST'=>-9, 'PST'=>-8,'MST'=>-7, 'CST'=>-6, 'EST'=>-5}
6
+
7
+ def initialize hours, minutes, seconds
8
+ @hours = hours
9
+ @minutes = minutes
10
+ @seconds = seconds
11
+ end
12
+
13
+ def selected_timezone selected_timezone
14
+ @selected_timezone = selected_timezone
15
+ end
16
+
17
+
18
+ #------Conversion Methods------#
19
+ def convert
20
+ convert_hrs
21
+ convert_min
22
+ convert_sec
23
+ converted_time = "#{convert_hrs}:#{convert_min}:#{convert_sec}"
24
+ end
25
+
26
+ def convert_hrs
27
+ UTC_Converter UTC_HOUR_OFFSET
28
+ end
29
+
30
+ def convert_min
31
+ @minutes
32
+ end
33
+
34
+ def convert_sec
35
+ @seconds
36
+ end
37
+ #------Conversion Methods------#
38
+
39
+ #------Workhorse Converter-----#
40
+ def UTC_Converter hash
41
+ hash.each do |k, v|
42
+ if k == @selected_timezone
43
+ converted_hrs = (v.to_i + @hours.to_i) + 24
44
+ if converted_hrs == 25
45
+ return "0#{(converted_hrs - 24)}"
46
+ elsif converted_hrs == 10 or converted_hrs < 25
47
+ return "#{converted_hrs}"
48
+ elsif converted_hrs < 34
49
+ return "0#{(converted_hrs - 24)}"
50
+ elsif converted_hrs > 25
51
+ return "#{(converted_hrs - 24)}"
52
+ elsif converted_hrs > 10
53
+ return "0#{converted_hrs}"
54
+ elsif converted_hrs == 0
55
+ return "24"
56
+ end
57
+ return converted_hrs
58
+ end
59
+ end
60
+ end
61
+ #------Workhorse Converter-----#
62
+
63
+ end
64
+
65
+ #FUTURE CODE THAT WILL HELP IMPLEMENT DAYLIGHT SAVINGS TIME
66
+
67
+ #list of Time Zones and their UTC offset during daylight savings
68
+ #UTC_DS_HOUR_OFFSET = {'HST'=>-9, 'AKST'=>-8, 'PST'=>-7,'MST'=>-6, 'CST'=>-5, 'EST'=>-4}
69
+
70
+ #def daylight_savings_convert_hrs
71
+ # UTC_Converter UTC_DS_HOUR_OFFSET
72
+ #end
73
+
74
+
75
+ #def selected_date year, month, day
76
+ # @year = year
77
+ # @month = month
78
+ # @day = day
79
+ #end
80
+
@@ -0,0 +1,19 @@
1
+ Given(/^I have entered (\d+):(\d+):(\d+)$/) do |arg1, arg2, arg3|
2
+ @converter = Time_Converter.new(arg1, arg2, arg3)
3
+ end
4
+
5
+ Given(/^I have selected "(.*?)"$/) do |selected_timezone|
6
+ @converter.selected_timezone(selected_timezone).should eq selected_timezone
7
+ end
8
+
9
+ Given(/^I have selected (\d+)\-(\d+)\-(\d+)$/) do |arg1, arg2, arg3|
10
+ @converter.selected_date.should eq "#{arg1}-#{arg2}-#{arg3}"
11
+ end
12
+
13
+ When(/^I press convert$/) do
14
+ @result = @converter.convert
15
+ end
16
+
17
+ Then(/^the result returned should be (\d+):(\d+):(\d+)$/) do |arg1, arg2, arg3|
18
+ @result.should eq "#{arg1}:#{arg2}:#{arg3}"
19
+ end
@@ -0,0 +1,48 @@
1
+ Feature: 24 hour UTC to USA Time Converter
2
+ In order to easily convert Current UTC time to USA time
3
+ As a developer
4
+ I want to convert the UTC time to the desired USA time zone.
5
+
6
+ Scenario:
7
+ Given I have entered 23:00:00
8
+ And I have selected "CST"
9
+ When I press convert
10
+ Then the result returned should be 17:00:00
11
+
12
+ Scenario:
13
+ Given I have entered 05:00:00
14
+ And I have selected "EST"
15
+ When I press convert
16
+ Then the result returned should be 24:00:00
17
+
18
+ Scenario:
19
+ Given I have entered 22:00:00
20
+ And I have selected "HST"
21
+ When I press convert
22
+ Then the result returned should be 12:00:00
23
+
24
+ Scenario:
25
+ Given I have entered 21:00:00
26
+ And I have selected "AKST"
27
+ When I press convert
28
+ Then the result returned should be 12:00:00
29
+
30
+ Scenario:
31
+ Given I have entered 01:00:00
32
+ And I have selected "PST"
33
+ When I press convert
34
+ Then the result returned should be 17:00:00
35
+
36
+ Scenario:
37
+ Given I have entered 24:00:00
38
+ And I have selected "MST"
39
+ When I press convert
40
+ Then the result returned should be 17:00:00
41
+
42
+ Scenario:
43
+ Given I have entered 22:00:00
44
+ And I have selected "MST"
45
+ When I press convert
46
+ Then the result returned should be 15:00:00
47
+
48
+
metadata ADDED
@@ -0,0 +1,47 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: utc_converter_tool
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Zack Walkingstick
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-03-11 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: This gem is intended to convert UTC time to other time zones
14
+ email: zackwalkingstick@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/README.md
20
+ - lib/cucumber/features/step_definitions/time_converter.rb
21
+ - lib/cucumber/features/step_definitions/time_converter_steps.rb
22
+ - lib/cucumber/features/time_converter.feature
23
+ homepage: http://rubygems.org/gems/UTC_converter_tool
24
+ licenses:
25
+ - GPL-3.0
26
+ metadata: {}
27
+ post_install_message:
28
+ rdoc_options: []
29
+ require_paths:
30
+ - lib
31
+ required_ruby_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ requirements: []
42
+ rubyforge_project:
43
+ rubygems_version: 2.2.2
44
+ signing_key:
45
+ specification_version: 4
46
+ summary: UTC time zone converter
47
+ test_files: []