teasy 0.2.4 → 0.2.5

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 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.