teasy 0.2.7 → 0.2.8

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: 6ab713c47494f01b0d042b62891e16d383b2c07f1033b20fcc1de460a825b3ea
4
- data.tar.gz: 3131d283520c4d6640f8725b078ab9dab8f9710452ea02c942d05f70d85b8d8f
3
+ metadata.gz: c8bbffed19dc702847e0096485c0540b12ec6b28e4f5a14165ccb46ae13103a6
4
+ data.tar.gz: cc76f08f0630726cfc371ea2a4bc8142a4245f408ca5a358e544781e4d4b812a
5
5
  SHA512:
6
- metadata.gz: a85cb26c029b689d66259ae4cafbd96209378fb80eaa493c6a187bf41cc565509a958ee0fafb66323792ae1a5e461a26e17d103de9a9324cef4c3a8ae627a913
7
- data.tar.gz: 18e7a6ce8f04215a0f46bb6e4d9eaa41380dc0a9fdac69350f85a6fc848ab77e0efe6e526abdcb613d9a2315ed8abf9f792697ecfa7f096757b4861332e5e6f4
6
+ metadata.gz: 0d00df4b7245a715e319eefefa17392d9e5068a289937e8978d52b2e690b6368c79e1289a8f98b86cbbc9b7397ec636047837ccb7f74c6d544b553bbec2aa25b
7
+ data.tar.gz: d5d3c5d28d40941738d7ad3ac272c980993abe0e4dd1640d032755238bb7f1b9014653fb389ef9f875cca9c92ba194940097e46f4c6de04fc6614bec78c2e29c
@@ -1,12 +1,13 @@
1
1
  AllCops:
2
2
  Exclude:
3
3
  - teasy.gemspec
4
- - 'vendor/**/*'
5
- - 'test/**/*'
4
+ - "vendor/**/*"
5
+ - "test/**/*"
6
+ NewCops: enable
6
7
 
7
8
  # Setting the line length to a maximum of 80 chars.
8
- LineLength:
9
+ Layout/LineLength:
9
10
  Enabled: true
10
11
  Max: 80
11
- Documentation:
12
+ Style/Documentation:
12
13
  Enabled: false
@@ -1 +1 @@
1
- 2.6.0
1
+ 2.7.1
@@ -114,7 +114,7 @@ module Teasy
114
114
 
115
115
  def prefix_zone_info(format)
116
116
  # prefixes zone directives with a % s.t. they are ignored in strftime
117
- format.gsub(zone_directives_matcher) { |m| '%' + m }
117
+ format.gsub(zone_directives_matcher) { |m| "%#{m}" }
118
118
  end
119
119
  end
120
120
  end
@@ -55,7 +55,7 @@ module Teasy
55
55
  @zone = tzinfo_time_zone(zone)
56
56
  @time = @zone.utc_to_local(time)
57
57
  @period = @zone.period_for_utc(time)
58
- remove_instance_variable(:@local_time) unless @local_time.nil?
58
+ remove_instance_variable(:@local_time) if defined?(@local_time)
59
59
  self
60
60
  end
61
61
 
@@ -142,7 +142,7 @@ module Teasy
142
142
  end
143
143
 
144
144
  def to_time
145
- return @local_time unless @local_time.nil?
145
+ return @local_time if defined?(@local_time)
146
146
 
147
147
  params = %i[year mon day hour min].map! { |m| @time.send(m) }
148
148
  params << @time.sec + @time.subsec
@@ -196,18 +196,21 @@ module Teasy
196
196
  format_with_zone
197
197
  end
198
198
 
199
+ # rubocop:disable Style/OptionalBooleanParameter
199
200
  def formatted_offset(offset_in_seconds, colon = false, seconds = false)
200
- string_format = +'%s%02d:%02d'
201
- string_format.concat(':%02d') if seconds
202
- string_format.delete!(':') unless colon
203
-
204
201
  sign = offset_in_seconds.negative? ? '-' : '+'
205
202
  hours = offset_in_seconds.abs / 3600
206
203
  minutes = (offset_in_seconds.abs % 3600) / 60
207
- seconds = (offset_in_seconds.abs % 60)
208
204
 
209
- format(string_format, sign, hours, minutes, seconds)
205
+ separator = colon ? ':' : ''
206
+ string_format = ['%s%02d', '%02d', ('%02d' if seconds)]
207
+ .compact.join(separator)
208
+ args = [sign, hours, minutes, ((offset_in_seconds.abs % 60) if seconds)]
209
+ .compact
210
+
211
+ format(string_format, *args)
210
212
  end
213
+ # rubocop:enable Style/OptionalBooleanParameter
211
214
 
212
215
  def tzinfo_time_zone(time_zone)
213
216
  Teasy.with_zone(time_zone) { |zone| TZInfo::Timezone.get(zone) }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Teasy
4
- VERSION = '0.2.7'
4
+ VERSION = '0.2.8'
5
5
  end
@@ -1,18 +1,17 @@
1
- # coding: utf-8
2
- require File.expand_path("../lib/teasy/version", __FILE__)
1
+ require File.expand_path('lib/teasy/version', __dir__)
3
2
 
4
3
  Gem::Specification.new do |spec|
5
4
  spec.name = 'teasy'
6
5
  spec.version = Teasy::VERSION
7
6
  spec.authors = ['Kai Kuchenbecker']
8
7
  spec.email = ['Kai.Kuchenbecker@invision.de']
9
- spec.summary = %q{Teasy intends to make handling time zones easy.}
10
- spec.description = %q{Teasy builds on tzinfo to get time zone data and
8
+ spec.summary = 'Teasy intends to make handling time zones easy.'
9
+ spec.description = "Teasy builds on tzinfo to get time zone data and
11
10
  provides time classes to ease working with time zones.
12
11
  It provides TimeWithZone which is similiar to Rails'
13
12
  ActiveSupport::TimeWithZone but with less quirks. And
14
13
  it provides FloatingTime which is time without a zone.
15
- }
14
+ "
16
15
  spec.homepage = ''
17
16
  spec.license = 'MIT'
18
17
 
@@ -22,11 +21,11 @@ Gem::Specification.new do |spec|
22
21
  spec.required_ruby_version = '> 2.0'
23
22
 
24
23
  spec.add_runtime_dependency 'tzinfo', '~> 2.0'
25
- spec.add_runtime_dependency 'tzinfo-data', '~> 1.2019.3'
24
+ spec.add_runtime_dependency 'tzinfo-data', '~> 1.2020.1'
26
25
 
27
26
  spec.add_development_dependency 'bundler'
28
- spec.add_development_dependency 'rake'
29
27
  spec.add_development_dependency 'minitest'
30
28
  spec.add_development_dependency 'minitest-reporters'
29
+ spec.add_development_dependency 'rake'
31
30
  spec.add_development_dependency 'rubocop'
32
31
  end
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.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kai Kuchenbecker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-25 00:00:00.000000000 Z
11
+ date: 2020-10-06 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.2019.3
33
+ version: 1.2020.1
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.2019.3
40
+ version: 1.2020.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rake
56
+ name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: minitest
70
+ name: minitest-reporters
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: minitest-reporters
84
+ name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -157,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
159
  requirements: []
160
- rubygems_version: 3.0.1
160
+ rubygems_version: 3.1.2
161
161
  signing_key:
162
162
  specification_version: 4
163
163
  summary: Teasy intends to make handling time zones easy.