TimezoneParser 0.1.0
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 +7 -0
- data/.gitignore +19 -0
- data/.rspec +2 -0
- data/.yardopts +1 -0
- data/Gemfile +10 -0
- data/README.md +133 -0
- data/Rakefile +160 -0
- data/TimezoneParser.gemspec +40 -0
- data/UNLICENSE +24 -0
- data/data/version.yml +5 -0
- data/lib/timezone_parser.rb +159 -0
- data/lib/timezone_parser/abbreviation.rb +120 -0
- data/lib/timezone_parser/data.rb +121 -0
- data/lib/timezone_parser/data/cldr.rb +175 -0
- data/lib/timezone_parser/data/storage.rb +172 -0
- data/lib/timezone_parser/data/tzinfo.rb +151 -0
- data/lib/timezone_parser/data/windows.rb +124 -0
- data/lib/timezone_parser/rails_zone.rb +178 -0
- data/lib/timezone_parser/timezone.rb +159 -0
- data/lib/timezone_parser/version.rb +5 -0
- data/lib/timezone_parser/windows_zone.rb +169 -0
- data/lib/timezone_parser/zone_info.rb +70 -0
- data/spec/abbreviation_spec.rb +122 -0
- data/spec/rails_zone_spec.rb +84 -0
- data/spec/spec_helper.rb +17 -0
- data/spec/timezone_parser_spec.rb +76 -0
- data/spec/timezone_spec.rb +108 -0
- data/spec/windows_zone_spec.rb +81 -0
- metadata +228 -0
@@ -0,0 +1,84 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe TimezoneParser do
|
5
|
+
describe TimezoneParser::RailsZone do
|
6
|
+
describe '#new' do
|
7
|
+
it 'should be an instance of a RailsZone class' do
|
8
|
+
expect(TimezoneParser::RailsZone.new('노보시비르스크')).to be_an_instance_of TimezoneParser::RailsZone
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#isValid?' do
|
13
|
+
it 'should be valid Rails zone' do
|
14
|
+
expect(TimezoneParser::RailsZone.new('노보시비르스크').isValid?).to be_true
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should not be valid Rails zone in "ru" locale' do
|
18
|
+
expect(TimezoneParser::RailsZone.new('노보시비르스크').set(['ru']).isValid?).to be_false
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should not be valid Rails zone' do
|
22
|
+
expect(TimezoneParser::RailsZone.new('NotExisistinge').isValid?).to be_false
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe '#getOffsets' do
|
27
|
+
it 'should return all offsets for "Grönland"' do
|
28
|
+
expect(TimezoneParser::RailsZone.new('Grönland').getOffsets).to eq([-10800, -7200])
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe '#getTimezones' do
|
33
|
+
it 'should return all timezones for "Centro-Oeste de África"' do
|
34
|
+
expect(TimezoneParser::RailsZone.new('Centro-Oeste de África').getTimezones).to eq(['Africa/Algiers'])
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'it should not find "Hawaii" in "es" locale' do
|
38
|
+
expect(TimezoneParser::RailsZone.new('Hawaii').set(['es']).getTimezones).to be_empty
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'should find timezones for "pt" locale' do
|
42
|
+
expect(TimezoneParser::RailsZone.new('Hora do Pacífico (EUA e Canadá)').set(['pt']).getTimezones).to eq(['America/Los_Angeles'])
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
describe '#getZone' do
|
48
|
+
it 'should return zone name' do
|
49
|
+
expect(TimezoneParser::RailsZone.new('Североамериканское атлантическое время').getZone).to eq('Atlantic Time (Canada)')
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
describe '.isValid?' do
|
54
|
+
it 'should be valid Rails zone' do
|
55
|
+
expect(TimezoneParser::RailsZone::isValid?('La Paz', ['en'])).to be_true
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe '.getOffsets' do
|
60
|
+
it 'should return all offsets for "Nuku\'alofa"' do
|
61
|
+
expect(TimezoneParser::RailsZone::getOffsets('Nuku\'alofa', DateTime.now, nil, ['en', 'ru'], true)).to eq([46800])
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe '.getTimezones' do
|
66
|
+
it 'should find timezones' do
|
67
|
+
expect(TimezoneParser::RailsZone::getTimezones('치와와', [], true)).to eq(['America/Chihuahua'])
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
describe '.getMetazones' do
|
72
|
+
it 'should return zone names' do
|
73
|
+
expect(TimezoneParser::RailsZone::getMetazones('치와와')).to eq(['Chihuahua'])
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
describe '.getZone' do
|
78
|
+
it 'should return zone name' do
|
79
|
+
expect(TimezoneParser::RailsZone::getZone('치와와')).to eq('Chihuahua')
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'simplecov'
|
3
|
+
|
4
|
+
if ENV['CI']
|
5
|
+
require 'coveralls'
|
6
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
7
|
+
end
|
8
|
+
|
9
|
+
SimpleCov.start
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.expect_with :rspec do |c|
|
13
|
+
c.syntax = :expect
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
require_relative '../lib/timezone_parser.rb'
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe TimezoneParser do
|
5
|
+
describe '.preload' do
|
6
|
+
it 'should preload data files' do
|
7
|
+
expect(TimezoneParser.preload).to be_true
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '.isValid?' do
|
12
|
+
it 'should be valid timezone abbreviation' do
|
13
|
+
expect(TimezoneParser.isValid?('HAP')).to be_true
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should be valid timezone name' do
|
17
|
+
expect(TimezoneParser.isValid?('גיברלטר', ['he'])).to be_true
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should be valid Windows timezone name' do
|
21
|
+
expect(TimezoneParser.isValid?('Θερινή ώρα Μαλαϊκής χερσονήσου', ['el-GR'])).to be_true
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should be valid Rails zone name' do
|
25
|
+
expect(TimezoneParser.isValid?('ブエノスアイレス', ['ja'])).to be_true
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should not be valid' do
|
29
|
+
expect(TimezoneParser.isValid?('blah')).to be_false
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe '.getOffsets' do
|
34
|
+
it 'should find offsets for timezone abbreviation' do
|
35
|
+
expect(TimezoneParser.getOffsets('HAP', nil, nil, ['CA'])).to eq([-25200])
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should find offsets for timezone name' do
|
39
|
+
expect(TimezoneParser.getOffsets('גיברלטר', nil, nil, ['GI'], ['he'])).to eq([3600, 7200])
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'should find offsets for Windows timezone name' do
|
43
|
+
expect(TimezoneParser.getOffsets('Θερινή ώρα Μαλαϊκής χερσονήσου', nil, nil, nil, ['el-GR'])).to eq([32400])
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should find offsets for Rails zone name' do
|
47
|
+
expect(TimezoneParser.getOffsets('ブエノスアイレス', nil, nil, ['AR'], ['ja'])).to eq([-10800])
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'should not find any offsets' do
|
51
|
+
expect(TimezoneParser.getOffsets('blah')).to eq([])
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe '.getTimezones' do
|
56
|
+
it 'should find timezones for timezone abbreviation' do
|
57
|
+
expect(TimezoneParser.getTimezones('HAP', nil, nil, ['CA'])).to eq(['America/Dawson', 'America/Vancouver', 'America/Whitehorse'])
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'should find timezones for timezone name' do
|
61
|
+
expect(TimezoneParser.getTimezones('גיברלטר', nil, nil, ['GI'], ['he'])).to eq(['Europe/Gibraltar'])
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'should find timezones for Windows timezone name' do
|
65
|
+
expect(TimezoneParser.getTimezones('Θερινή ώρα Μαλαϊκής χερσονήσου', nil, nil, nil, ['el-GR'])).to eq(['Asia/Brunei', 'Asia/Kuala_Lumpur', 'Asia/Kuching', 'Asia/Makassar', 'Asia/Manila', 'Asia/Singapore', 'Etc/GMT-8'])
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'should find timezones for Rails zone name' do
|
69
|
+
expect(TimezoneParser.getTimezones('ブエノスアイレス', nil, nil, ['AR'], ['ja'])).to eq(['America/Argentina/Buenos_Aires', 'America/Buenos_Aires'])
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'should not find any timezones' do
|
73
|
+
expect(TimezoneParser.getTimezones('blah')).to eq([])
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,108 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe TimezoneParser do
|
5
|
+
describe TimezoneParser::Timezone do
|
6
|
+
describe '#new' do
|
7
|
+
it 'should be an instance of a Timezone class' do
|
8
|
+
expect(TimezoneParser::Timezone.new('Argentinische Normalzeit')).to be_an_instance_of TimezoneParser::Timezone
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#isValid?' do
|
13
|
+
it 'should be valid timezone' do
|
14
|
+
expect(TimezoneParser::Timezone.new('Argentinische Normalzeit').isValid?).to be_true
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should not be valid timezone' do
|
18
|
+
expect(TimezoneParser::Timezone.new('Random place').isValid?).to be_false
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should be valid case-insensitive' do
|
22
|
+
expect(TimezoneParser::Timezone.new('büsingen').isValid?).to be_true
|
23
|
+
pending('TODO: Unicode case insensitivity')
|
24
|
+
expect(TimezoneParser::Timezone.new('bÜsingen').isValid?).to be_true
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe '#getOffsets' do
|
29
|
+
it 'should return all offsets for "Պարսկաստանի ամառային ժամանակ"' do
|
30
|
+
expect(TimezoneParser::Timezone.new('Պարսկաստանի ամառային ժամանակ').getOffsets).to eq([16200])
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe '#getTimezones' do
|
35
|
+
it 'should return all timezones for "Bécs"' do
|
36
|
+
expect(TimezoneParser::Timezone.new('Bécs').getTimezones).to eq(['Europe/Vienna'])
|
37
|
+
end
|
38
|
+
|
39
|
+
context 'timezones from specified locales' do
|
40
|
+
it 'should find timezones for only "zh" locale' do
|
41
|
+
expect(TimezoneParser::Timezone.new('阿尤恩').set(['zh']).getTimezones).to eq(['Africa/El_Aaiun'])
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'should find timezones for "en_Dsrt" locale' do
|
45
|
+
expect(TimezoneParser::Timezone.new('𐐁𐑍𐐿𐐲𐑉𐐮𐐾').set(['en_Dsrt']).getTimezones).to eq(['America/Anchorage'])
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'it should not find "China Summer Time" in "en" locale' do
|
49
|
+
expect(TimezoneParser::Timezone.new('China Summer Time').set(['en']).getTimezones).to be_empty
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'timezones from specified regions' do
|
54
|
+
it 'should find timezones in only "LT" region' do
|
55
|
+
expect(TimezoneParser::Timezone.new('ເວລາເອີຣົບຕາເວັນອອກ').set(nil, ['LT']).getTimezones).to eq(['Europe/Vilnius'])
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'should find timezones in only "GR", "FI" and "BG" regions' do
|
59
|
+
expect(TimezoneParser::Timezone.new('ເວລາເອີຣົບຕາເວັນອອກ').set(nil, ['GR', 'FI', 'BG']).getTimezones).to eq(['Europe/Athens', 'Europe/Helsinki', 'Europe/Sofia'])
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'timezones from specified time range' do
|
64
|
+
it 'should find timezones between specified time range' do
|
65
|
+
expect(TimezoneParser::Timezone.new('Maskvos laikas').setTime(DateTime.parse('1992-01-19T00:00:00+00:00'), DateTime.parse('1991-03-30T23:00:00+00:00')).getTimezones).to eq(['Europe/Kaliningrad', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Vilnius', 'Europe/Zaporozhye'])
|
66
|
+
expect(TimezoneParser::Timezone.new('Maskvos laikas').setTime(DateTime.parse('2010-03-27T22:00:00+00:00'), DateTime.parse('1992-01-19T00:00:00+00:00')).getTimezones).to eq(['Europe/Moscow', 'Europe/Simferopol'])
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
describe '#getMetazones' do
|
72
|
+
it 'should return all metazones for "Nord-Marianene-tid"' do
|
73
|
+
expect(TimezoneParser::Timezone.new('Nord-Marianene-tid').getMetazones).to eq(['North_Mariana'])
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
describe '#getTypes' do
|
78
|
+
it 'should return types for "Nord-Marianene-tid"' do
|
79
|
+
expect(TimezoneParser::Timezone.new('Nord-Marianene-tid').getTypes).to eq([:standard])
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
describe '.isValid?' do
|
84
|
+
it 'should be valid timezone' do
|
85
|
+
expect(TimezoneParser::Timezone::isValid?('பெட்ரோபவ்லோவ்ஸ்க் கம்சட்ஸ்கி நேரம்')).to be_true
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
describe '.getOffsets' do
|
90
|
+
it 'should find offsets for "सामोआ प्रमाण वेळ" zone and in "UM" region' do
|
91
|
+
expect(TimezoneParser::Timezone::getOffsets('सामोआ प्रमाण वेळ', nil, nil, nil, ['UM'])).to eq([-39600])
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
describe '.getTimezones' do
|
96
|
+
it 'should return all timezones for "Grinwish gaƒoƒome"' do
|
97
|
+
expect(TimezoneParser::Timezone::getTimezones('Grinwish gaƒoƒome', nil, nil, ['dz', 'ee'], ['IM'])).to eq(['Europe/Isle_of_Man'])
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
describe '.getMetazones' do
|
102
|
+
it 'should return all metazones for "ནུབ་ཕྱོགས་གིརིན་ལེནཌ་ཆུ་ཚོད"' do
|
103
|
+
expect(TimezoneParser::Timezone::getMetazones('ནུབ་ཕྱོགས་གིརིན་ལེནཌ་ཆུ་ཚོད')).to eq(['Greenland_Western'])
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe TimezoneParser do
|
5
|
+
describe TimezoneParser::WindowsZone do
|
6
|
+
describe '#new' do
|
7
|
+
it 'should be an instance of a WindowsZone class' do
|
8
|
+
expect(TimezoneParser::WindowsZone.new('Azerbaijan Summer Time')).to be_an_instance_of TimezoneParser::WindowsZone
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#isValid?' do
|
13
|
+
it 'should be valid Windows zone' do
|
14
|
+
expect(TimezoneParser::WindowsZone.new('Azerbaijan Summer Time').isValid?).to be_true
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should not be valid Windows zone' do
|
18
|
+
expect(TimezoneParser::WindowsZone.new('NotExisistinge').isValid?).to be_false
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#getOffsets' do
|
24
|
+
it 'should return all offsets for "Severoázijský čas (normálny)"' do
|
25
|
+
expect(TimezoneParser::WindowsZone.new('Severoázijský čas (normálny)').getOffsets).to eq([28800])
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '#getTimezones' do
|
30
|
+
it 'should return all timezones for "كوريا - التوقيت الرسمي"' do
|
31
|
+
expect(TimezoneParser::WindowsZone.new('كوريا - التوقيت الرسمي').getTimezones).to eq(['Asia/Pyongyang', 'Asia/Seoul'])
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'it should not find "GMT Daylight Time" in "en-GB" locale' do
|
35
|
+
expect(TimezoneParser::WindowsZone.new('GMT Daylight Time').set(['en-GB']).getTimezones).to be_empty
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should find timezones for "SR" region and in "sl-SI" locale' do
|
39
|
+
expect(TimezoneParser::WindowsZone.new('Južnoameriški vzh. stand. čas').set(['sl-SI'], ['SR']).getTimezones).to eq(['America/Paramaribo'])
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
describe '#getZone' do
|
45
|
+
it 'should return zone name' do
|
46
|
+
expect(TimezoneParser::WindowsZone.new('ora legale Medioatlantico').getZone).to eq('Mid-Atlantic Standard Time')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe '.isValid?' do
|
51
|
+
it 'should be valid Windows zone' do
|
52
|
+
expect(TimezoneParser::WindowsZone::isValid?('Ekaterinburg, oră standard', ['ro-RO'])).to be_true
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe '.getOffsets' do
|
57
|
+
it 'should return all offsets for "Sør-Amerika (østlig sommertid)"' do
|
58
|
+
expect(TimezoneParser::WindowsZone::getOffsets('Sør-Amerika (østlig sommertid)', ['lt-LT', 'nb-NO'])).to eq([-7200])
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe '.getTimezones' do
|
63
|
+
it 'should find timezones for "Južnoafriški poletni čas"' do
|
64
|
+
expect(TimezoneParser::WindowsZone::getTimezones('Južnoafriški poletni čas', nil, ['MW', 'MZ'])).to eq(['Africa/Blantyre', 'Africa/Maputo'])
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe '.getMetazones' do
|
69
|
+
it 'should find metazones for "Južnoafriški poletni čas"' do
|
70
|
+
expect(TimezoneParser::WindowsZone::getMetazones('Južnoafriški poletni čas')).to eq(['South Africa Standard Time'])
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
describe '.getZone' do
|
75
|
+
it 'should return zone name' do
|
76
|
+
expect(TimezoneParser::WindowsZone::getZone('Južnoafriški poletni čas')).to eq('South Africa Standard Time')
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
end
|
metadata
ADDED
@@ -0,0 +1,228 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: TimezoneParser
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dāvis
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-02-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: tzinfo
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: insensitive_hash
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
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'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: yard
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: tzinfo-data
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: ruby-cldr
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: activesupport
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
description: Library for parsing Timezone names and abbrevations to corresponding
|
154
|
+
UTC offsets and much more
|
155
|
+
email:
|
156
|
+
- davispuh@gmail.com
|
157
|
+
executables: []
|
158
|
+
extensions: []
|
159
|
+
extra_rdoc_files: []
|
160
|
+
files:
|
161
|
+
- ".gitignore"
|
162
|
+
- ".rspec"
|
163
|
+
- ".yardopts"
|
164
|
+
- Gemfile
|
165
|
+
- README.md
|
166
|
+
- Rakefile
|
167
|
+
- TimezoneParser.gemspec
|
168
|
+
- UNLICENSE
|
169
|
+
- data/abbreviations.dat
|
170
|
+
- data/countries.dat
|
171
|
+
- data/metazones.dat
|
172
|
+
- data/rails.dat
|
173
|
+
- data/rails_i18n.dat
|
174
|
+
- data/timezones.dat
|
175
|
+
- data/version.yml
|
176
|
+
- data/windows_offsets.dat
|
177
|
+
- data/windows_timezones.dat
|
178
|
+
- data/windows_zonenames.dat
|
179
|
+
- lib/timezone_parser.rb
|
180
|
+
- lib/timezone_parser/abbreviation.rb
|
181
|
+
- lib/timezone_parser/data.rb
|
182
|
+
- lib/timezone_parser/data/cldr.rb
|
183
|
+
- lib/timezone_parser/data/storage.rb
|
184
|
+
- lib/timezone_parser/data/tzinfo.rb
|
185
|
+
- lib/timezone_parser/data/windows.rb
|
186
|
+
- lib/timezone_parser/rails_zone.rb
|
187
|
+
- lib/timezone_parser/timezone.rb
|
188
|
+
- lib/timezone_parser/version.rb
|
189
|
+
- lib/timezone_parser/windows_zone.rb
|
190
|
+
- lib/timezone_parser/zone_info.rb
|
191
|
+
- spec/abbreviation_spec.rb
|
192
|
+
- spec/rails_zone_spec.rb
|
193
|
+
- spec/spec_helper.rb
|
194
|
+
- spec/timezone_parser_spec.rb
|
195
|
+
- spec/timezone_spec.rb
|
196
|
+
- spec/windows_zone_spec.rb
|
197
|
+
homepage: https://github.com/davispuh/TimezoneParser
|
198
|
+
licenses:
|
199
|
+
- UNLICENSE
|
200
|
+
metadata: {}
|
201
|
+
post_install_message:
|
202
|
+
rdoc_options: []
|
203
|
+
require_paths:
|
204
|
+
- lib
|
205
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
206
|
+
requirements:
|
207
|
+
- - ">="
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
version: '0'
|
210
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - ">="
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
215
|
+
requirements: []
|
216
|
+
rubyforge_project:
|
217
|
+
rubygems_version: 2.2.1
|
218
|
+
signing_key:
|
219
|
+
specification_version: 4
|
220
|
+
summary: Parse Timezone names written in any language to offsets and TimeZone identifiers
|
221
|
+
test_files:
|
222
|
+
- spec/abbreviation_spec.rb
|
223
|
+
- spec/rails_zone_spec.rb
|
224
|
+
- spec/spec_helper.rb
|
225
|
+
- spec/timezone_parser_spec.rb
|
226
|
+
- spec/timezone_spec.rb
|
227
|
+
- spec/windows_zone_spec.rb
|
228
|
+
has_rdoc:
|