dynamic_time_zone 0.5.0 → 0.6.2

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