dynamic_time_zone 0.5.0 → 0.6.2

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: 495fbed668267a932e1719e9877a9450c404baaadc892a5d7c36c8d9fcfef45c
4
- data.tar.gz: 708f132cbc5da54b49d9793f44f2c03f3c128c66a403d9ecf4f2c6c02f91c5c7
3
+ metadata.gz: 7e159af46f59f20e48137d90de0dbc30e41163cf0a790a0c398f8dd1cbde528c
4
+ data.tar.gz: 46dd6830341e2df50d96edf63b0429babbb7a9db6e63516d436364800c6eec45
5
5
  SHA512:
6
- metadata.gz: 41c199f3d118993457c9886c25740048a5171392376c32be79707faf12b6cfcd2904475029fc92322c6cb75e84d3e8a2a0564f80e11b5557025698d37d46ff9d
7
- data.tar.gz: 2235ee587f21a9dd92c64024e7c0cb87cd693fef9705dbda86ed3465c9ea099bb84152a84742ff33e89f7b9f506b320f5227b762c6fc63d47a43aafae5fcf9e1
6
+ metadata.gz: 3bc860e1965cf496fc683cb4a627ef06cd531a1d191425e2e1fa4140b549d2b23d4a549f57565c699bc28957080a236ffcd6c088558233ea1df2c960216a7da8
7
+ data.tar.gz: f9f7294ea3ee58f85822856f7e06df1575764fa8ff138fe1c62f54eaa42b98ed71c2371f7b5110aa2279109db63afeab45464706fe3928b949089151940514ba
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DatePatch
4
+ def current
5
+ # Normally, Date.current ends up calling Time.zone.now which ends up passing the
6
+ # dynamic zone offset to Time which can raises out of range error. Here, we attempt
7
+ # to avoid that by grabbing the date out of time (which already works correctly with
8
+ # dynaminc time zones).
9
+ Time.current.to_date
10
+ end
11
+ end
12
+
13
+ Date.singleton_class.prepend(DatePatch)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DynamicTimeZone
4
- class TimeZoneDataSource < TZInfo::ZoneinfoDataSource
4
+ class TimeZoneDataSource < TZInfo::DataSources::ZoneinfoDataSource
5
5
  def load_timezone_info(identifier)
6
6
  return super unless DynamicTimeZone.enabled
7
7
 
@@ -12,8 +12,8 @@ module DynamicTimeZone
12
12
  offset_amount = offset_amount.to_i
13
13
  offset_amount = 0 - offset_amount if sign == '-'
14
14
 
15
- timezone_info = TZInfo::TransitionDataTimezoneInfo.new(identifier)
16
- timezone_info.offset(identifier, offset_amount, 0, 'DynamicTimeZone')
15
+ offset = TZInfo::TimezoneOffset.new(offset_amount, 0, 'DynamicTimeZone')
16
+ timezone_info = TZInfo::DataSources::ConstantOffsetDataTimezoneInfo.new(identifier, offset)
17
17
  timezone_info
18
18
  end
19
19
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DynamicTimeZone
4
- VERSION = '0.5.0'
4
+ VERSION = '0.6.2'
5
5
  end
@@ -1,6 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'time'
4
+ require 'rails'
5
+ require 'active_support'
4
6
  require 'active_support/core_ext/date_time/conversions'
5
7
  require 'active_support/time_with_zone'
6
8
  require 'active_support/core_ext/time/zones'
@@ -21,6 +23,7 @@ require 'dynamic_time_zone/validator'
21
23
  require 'dynamic_time_zone/identifier_builder'
22
24
  require 'dynamic_time_zone/time_zone_data_source'
23
25
  require 'dynamic_time_zone/time_with_zone_patch'
26
+ require 'dynamic_time_zone/date_patch'
24
27
  require 'dynamic_time_zone/time_patch'
25
28
  require 'dynamic_time_zone/offset_format_convertor'
26
29
  require 'dynamic_time_zone/time_parser'
metadata CHANGED
@@ -1,49 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamic_time_zone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Appfolio
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-02 00:00:00.000000000 Z
11
+ date: 2022-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: tzinfo
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.2'
19
+ version: '6.1'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '7.1'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '6.1'
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '1.2'
32
+ version: '7.1'
27
33
  - !ruby/object:Gem::Dependency
28
- name: activesupport
34
+ name: railties
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - ">="
32
38
  - !ruby/object:Gem::Version
33
- version: '5.2'
39
+ version: '6.1'
34
40
  - - "<"
35
41
  - !ruby/object:Gem::Version
36
- version: '6.1'
42
+ version: '7.1'
37
43
  type: :runtime
38
44
  prerelease: false
39
45
  version_requirements: !ruby/object:Gem::Requirement
40
46
  requirements:
41
47
  - - ">="
42
48
  - !ruby/object:Gem::Version
43
- version: '5.2'
49
+ version: '6.1'
44
50
  - - "<"
45
51
  - !ruby/object:Gem::Version
46
- version: '6.1'
52
+ version: '7.1'
53
+ - !ruby/object:Gem::Dependency
54
+ name: tzinfo
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '2.0'
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '2.0'
47
67
  description:
48
68
  email:
49
69
  executables: []
@@ -51,6 +71,7 @@ extensions: []
51
71
  extra_rdoc_files: []
52
72
  files:
53
73
  - lib/dynamic_time_zone.rb
74
+ - lib/dynamic_time_zone/date_patch.rb
54
75
  - lib/dynamic_time_zone/identifier_builder.rb
55
76
  - lib/dynamic_time_zone/offset_format_convertor.rb
56
77
  - lib/dynamic_time_zone/test_helper.rb
@@ -78,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
99
  - !ruby/object:Gem::Version
79
100
  version: '0'
80
101
  requirements: []
81
- rubygems_version: 3.0.9
102
+ rubygems_version: 3.3.4
82
103
  signing_key:
83
104
  specification_version: 4
84
105
  summary: Dynamically set the offset from UTC from timezone identifier