teasy 0.2.4 → 0.2.5

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: 54eaaa8dd55d7a0240c794459cc5148dbbfcd60df28a1572036180df28047c2f
4
- data.tar.gz: '079acda4b65773a09d6ad84a572218793e7dd1a92fe5c00677fe006de3de57c0'
3
+ metadata.gz: 3022cfddef7dae435802b341d1a8f77d068b430af92e0608a156c45f862af87e
4
+ data.tar.gz: b9a22b20d1a05a0fca3c17c98e05c60f6948c3807a247191102f00dcb78c787b
5
5
  SHA512:
6
- metadata.gz: 955ca2cbca31f4efa789f0cef1a23a42b6a10ffbbc6796413449c61f7ab2c87598dbcfeffbca0aa2d7c83c163783b88d43c97edc010ea1fc4da4ec9c04a6716d
7
- data.tar.gz: 9529e5ab26d1445a54931cb07907bf1e97ea2a03f36c5482f6a8458742f5e8c451dd55e923a9c33b8fb15a863b8b1fcaa10b675fa4daf0475671d555f85d4ea5
6
+ metadata.gz: 85876cc62382a0ceb9ee148f28fe4dccc8e437d3906e22718a3384569bf3ae42ea7262a13a838dda4e2e62edc67fabc824f1ca59701cd78e7e5fc821c163c161
7
+ data.tar.gz: b29f06c3d1c68816c7d425daddc1d71da774a274f98e9e6f66e5105d31439c0a727ee4d6eb8edb40225f8abd207c1fd3c0936122ced72817db0bebd9964b374c
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.1
1
+ 2.6.0
File without changes
@@ -37,9 +37,9 @@ module Teasy
37
37
  # By returning nil TZInfo will raise TZInfo::AmbigousTime. It'd be
38
38
  # better to raise our own error, but that would break the API that's out
39
39
  # there. So that will have to wait for a 1.x release.
40
- raise: ->(_time, _periods) {},
41
- daylight_savings_time: ->(_time, periods) { periods.select(&:dst?) },
42
- standard_time: ->(_time, periods) { periods.reject(&:dst?) }
40
+ raise: ->(_time, _periods) {},
41
+ daylight_savings_time: ->(_time, periods) { periods.select(&:dst?) },
42
+ standard_time: ->(_time, periods) { periods.reject(&:dst?) }
43
43
  }.freeze
44
44
  end
45
45
  end
@@ -58,6 +58,7 @@ module Teasy
58
58
  def <=>(other)
59
59
  return nil unless other.respond_to?(:to_time) &&
60
60
  other.respond_to?(:utc_offset)
61
+
61
62
  to_time - other.utc_offset <=> other.to_time.utc
62
63
  end
63
64
 
@@ -35,11 +35,11 @@ module Teasy
35
35
  end
36
36
 
37
37
  HANDLER = {
38
- raise: ->(_time, _zone) { raise },
38
+ raise: ->(_time, _zone) { raise },
39
39
  # the biggest change in offsets known to me is when Samoa went from -11
40
40
  # to +13 (a full day!) so hopefully we're sure to leave the unknown
41
41
  # period by adding/subtracting 3 days
42
- next_period: lambda do |time, zone|
42
+ next_period: lambda do |time, zone|
43
43
  period = zone.period_for_local(time + 3 * 86_400)
44
44
  [period, period.start_transition.time + period.utc_total_offset]
45
45
  end,
@@ -46,9 +46,7 @@ module Teasy
46
46
  end
47
47
 
48
48
  def self.strptime(string, format, zone = Teasy.default_zone)
49
- # rubocop:disable Style/DateTime
50
49
  new(*DateTime._strptime(string, format).values, 'UTC').in_time_zone!(zone)
51
- # rubocop:enable Style/DateTime
52
50
  end
53
51
 
54
52
  def in_time_zone!(zone = Teasy.default_zone)
@@ -126,6 +124,7 @@ module Teasy
126
124
 
127
125
  def <=>(other)
128
126
  return nil unless other.respond_to? :to_time
127
+
129
128
  to_time <=> other.to_time
130
129
  end
131
130
 
@@ -143,6 +142,7 @@ module Teasy
143
142
 
144
143
  def to_time
145
144
  return @local_time unless @local_time.nil?
145
+
146
146
  params = %i[year mon day hour min].map! { |m| @time.send(m) }
147
147
  params << @time.sec + @time.subsec
148
148
  @local_time = utc? ? Time.utc(*params) : Time.new(*params, utc_offset)
@@ -167,10 +167,10 @@ module Teasy
167
167
  attr_reader :time, :period
168
168
 
169
169
  # matches valid format directives for zones
170
- ZONE_ABBREV = /(?<!%)%Z/
171
- ZONE_NO_COLON_OFFSET = /(?<!%)%z/
172
- ZONE_COLON_OFFSET = /(?<!%)%:z/
173
- ZONE_COLONS_OFFSET = /(?<!%)%::z/
170
+ ZONE_ABBREV = /(?<!%)%Z/.freeze
171
+ ZONE_NO_COLON_OFFSET = /(?<!%)%z/.freeze
172
+ ZONE_COLON_OFFSET = /(?<!%)%:z/.freeze
173
+ ZONE_COLONS_OFFSET = /(?<!%)%::z/.freeze
174
174
 
175
175
  def zone_directives_matcher
176
176
  @zone_directives_matcher ||= Regexp.union(
data/lib/teasy/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Teasy
4
- VERSION = '0.2.4'
4
+ VERSION = '0.2.5'
5
5
  end
data/teasy.gemspec CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.required_ruby_version = '> 2.0'
24
24
 
25
25
  spec.add_runtime_dependency 'tzinfo', '~> 1.2'
26
- spec.add_runtime_dependency 'tzinfo-data', '~> 1.2018.4'
26
+ spec.add_runtime_dependency 'tzinfo-data', '~> 1.2018.9'
27
27
 
28
28
  spec.add_development_dependency 'bundler', '~> 1.6'
29
29
  spec.add_development_dependency 'rake', '~> 10.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teasy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kai Kuchenbecker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-20 00:00:00.000000000 Z
11
+ date: 2019-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tzinfo
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.2018.4
33
+ version: 1.2018.9
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.2018.4
40
+ version: 1.2018.9
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ files:
122
122
  - ".gitignore"
123
123
  - ".rubocop.yml"
124
124
  - ".ruby-version"
125
- - Changelog.md
125
+ - CHANGELOG.md
126
126
  - Gemfile
127
127
  - LICENSE.txt
128
128
  - README.md
@@ -157,8 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
159
  requirements: []
160
- rubyforge_project:
161
- rubygems_version: 2.7.6
160
+ rubygems_version: 3.0.1
162
161
  signing_key:
163
162
  specification_version: 4
164
163
  summary: Teasy intends to make handling time zones easy.