TimezoneParser 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|