timezone 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,7 +10,7 @@ module Timezone
10
10
  # initialize timezone objects based on latitude and longitude then this configuration is not necessary.
11
11
  class Configure
12
12
  def self.url
13
- @@url ||= 'ws.geonames.org'
13
+ @@url ||= 'api.geonames.org'
14
14
  end
15
15
 
16
16
  def self.url= url
@@ -1,3 +1,3 @@
1
1
  module Timezone
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -83,9 +83,9 @@ module Timezone
83
83
 
84
84
  # Get a list of specified timezones and the basic information accompanying that zone
85
85
  #
86
- # zones = Timezone::Zone.infos(zones)
86
+ # zones = Timezone::Zone.list(*zones)
87
87
  #
88
- # zones - An array of timezone names. (i.e. Timezone::Zones.infos("America/Chicago", "Australia/Sydney"))
88
+ # zones - An array of timezone names. (i.e. Timezone::Zones.list("America/Chicago", "Australia/Sydney"))
89
89
  #
90
90
  # The result is a Hash of timezones with their title, offset in seconds, UTC offset, and if it uses DST.
91
91
  #
@@ -128,7 +128,7 @@ module Timezone
128
128
 
129
129
  def _parsetime time #:nodoc:
130
130
  begin
131
- Time.strptime(time, "%Y-%m-%dT%H:%M:%SZ")
131
+ Time.strptime(time, "%Y-%m-%dT%H:%M:%S%Z")
132
132
  rescue Exception => e
133
133
  raise Timezone::Error::ParseTime, e.message
134
134
  end
@@ -95,6 +95,13 @@ class TimezoneTest < Test::Unit::TestCase
95
95
  assert_equal 'Australia/Adelaide', timezone.zone
96
96
  end
97
97
 
98
+ def test_using_old_ws_geonames_api
99
+ Timezone::Configure.begin { |c| c.url = 'ws.geonames.org' }
100
+ timezone = Timezone::Zone.new :latlon => [-34.92771808058, 138.477041423321]
101
+ assert_equal 'Australia/Adelaide', timezone.zone
102
+ Timezone::Configure.begin { |c| c.url = nil }
103
+ end
104
+
98
105
  def test_australian_timezone_with_dst
99
106
  timezone = Timezone::Zone.new :zone => 'Australia/Adelaide'
100
107
  utc = Time.utc(2010, 12, 23, 19, 37, 15)
@@ -103,7 +110,7 @@ class TimezoneTest < Test::Unit::TestCase
103
110
  end
104
111
 
105
112
  def test_configure_url_default
106
- assert_equal 'ws.geonames.org', Timezone::Configure.url
113
+ assert_equal 'api.geonames.org', Timezone::Configure.url
107
114
  end
108
115
 
109
116
  def test_configure_url_custom
@@ -113,4 +120,24 @@ class TimezoneTest < Test::Unit::TestCase
113
120
  Timezone::Configure.begin { |c| c.url = nil }
114
121
  end
115
122
 
123
+ def test_utc_offset_without_dst
124
+ timezone = Timezone::Zone.new :zone => 'Europe/Helsinki'
125
+ # just before DST starts
126
+ utc = Time.utc(2012, 3, 25, 0, 59, 59)
127
+ assert_equal timezone.utc_offset(utc), 7200
128
+ # on the second DST ends
129
+ utc = Time.utc(2012, 10, 28, 1, 0, 0)
130
+ assert_equal timezone.utc_offset(utc), 7200
131
+ end
132
+
133
+ def test_utc_offset_with_dst
134
+ timezone = Timezone::Zone.new :zone => 'Europe/Helsinki'
135
+ # on the second DST starts
136
+ utc = Time.utc(2012, 3, 25, 1, 0, 0)
137
+ assert_equal timezone.utc_offset(utc), 10800
138
+ # right before DST end
139
+ utc = Time.utc(2012, 10, 28, 0, 59, 59)
140
+ assert_equal timezone.utc_offset(utc), 10800
141
+ end
142
+
116
143
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timezone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-11 00:00:00.000000000Z
12
+ date: 2012-05-14 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: A simple way to get accurate current and historical timezone information
15
15
  based on zone or latitude and longitude coordinates. This gem uses the tz database
@@ -515,9 +515,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
515
515
  version: '0'
516
516
  requirements: []
517
517
  rubyforge_project: timezone
518
- rubygems_version: 1.8.10
518
+ rubygems_version: 1.8.22
519
519
  signing_key:
520
520
  specification_version: 3
521
- summary: timezone-0.1.4
521
+ summary: timezone-0.1.5
522
522
  test_files:
523
523
  - test/timezone_test.rb
524
+ has_rdoc: