icalendar 2.10.2 → 2.10.3

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: 25be453368a5f3878e1914626da23ed5116c8e7835f60bf67c2cf0d87f6766dc
4
- data.tar.gz: 00163247da24fc8057dcd4e1955f72a709ad3fd668526e35af17004232d4b173
3
+ metadata.gz: '091658a5c785f876d990794ef88444d4ea39e047aaf533ca3e93bfc8549c2495'
4
+ data.tar.gz: 1292b5e139aae74264694245d9a722bc42e501abe6620b341b12d4922ac3cac8
5
5
  SHA512:
6
- metadata.gz: d812eaf1f48875019ce982e7c6fc9ce900a1dccd315ae072867d62407ff8a13fbb0b2dae9e7c0c9b83870e1630fc5c63c09a4d0812eb539f7c8ffb799d5656b1
7
- data.tar.gz: dcadb2f20833a329b0e4b3845ec2cf41c5b415f739cb34489f8987837892280b888f328dc3e07c6c2aeff6bc5cf5b1db24a9e061993b2868a51cf89444e037e2
6
+ metadata.gz: 698656b8f89e982eb58c80cce76c4a8512df6ebdbcc37779eeeb2c57daaf3f180fe0226c3a8bdb66155438e2f71afa6df76b537d8a4cb528646211c850a1e70d
7
+ data.tar.gz: acd49ceb561f8f5a61be057c3ea00b938a6907a4af9826afd27fe2f484e256d1ff97869d5777ac58e79e55834ed97cc7c56136fb38d6b54f500959dc054c8d22
@@ -18,9 +18,9 @@ jobs:
18
18
  fail-fast: false
19
19
  matrix:
20
20
  ruby:
21
- - 3.1.6
22
- - 3.2.4
23
- - 3.3.4
21
+ - 3.1
22
+ - 3.2
23
+ - 3.3
24
24
 
25
25
  steps:
26
26
  - uses: actions/checkout@v4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 2.10.3 - 2024-09-21
4
+ - Override Icalendar::Value.== so that value objects can be compared to each other.
5
+ - Correctly load activesupport before activesupport/time
6
+ - Load ostruct to address deprecation warning - aki77
7
+
3
8
  ## 2.10.2 - 2024-07-21
4
9
  - Raise Icalendar::Parser::ParseError on bad .ics file input instead of RuntimeError - Micah Geisel
5
10
  - Remove Ruby 3.0 from the test matrix - still should work for now with ice_cube < 0.17.0
data/icalendar.gemspec CHANGED
@@ -32,6 +32,7 @@ ActiveSupport is required for TimeWithZone support, but not required for general
32
32
  s.required_ruby_version = '>= 2.4.0'
33
33
 
34
34
  s.add_dependency 'ice_cube', '~> 0.16'
35
+ s.add_dependency 'ostruct'
35
36
 
36
37
  s.add_development_dependency 'rake', '~> 13.0'
37
38
  s.add_development_dependency 'bundler', '~> 2.0'
@@ -45,6 +45,14 @@ module Icalendar
45
45
  self.class.value_type
46
46
  end
47
47
 
48
+ def ==(other)
49
+ if other.is_a?(Icalendar::Value)
50
+ super(other.value) && ical_params == other.ical_params
51
+ else
52
+ super
53
+ end
54
+ end
55
+
48
56
  private
49
57
 
50
58
  def needs_value_type?(default_type)
@@ -1,17 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  begin
4
+ require 'active_support'
4
5
  require 'active_support/time'
5
6
 
6
7
  if defined?(ActiveSupport::TimeWithZone)
7
8
  require_relative 'active_support_time_with_zone_adapter'
8
9
  end
9
- rescue NameError
10
- # ActiveSupport v7+ needs the base require to be run first before loading
11
- # specific parts of it.
12
- # https://guides.rubyonrails.org/active_support_core_extensions.html#stand-alone-active-support
13
- require 'active_support'
14
- retry
15
10
  rescue LoadError
16
11
  # tis ok, just a bit less fancy
17
12
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Icalendar
4
4
 
5
- VERSION = '2.10.2'
5
+ VERSION = '2.10.3'
6
6
 
7
7
  end
data/spec/spec_helper.rb CHANGED
@@ -12,6 +12,12 @@ end
12
12
  require 'timecop'
13
13
  require 'icalendar'
14
14
 
15
+ if defined?(ActiveSupport)
16
+ # this has been default behavior for new Rails apps for a long time, and the
17
+ # only option once ActiveSupport goes to 8.x
18
+ ActiveSupport.to_time_preserves_timezone = true if ActiveSupport.respond_to?(:to_time_preserves_timezone=)
19
+ end
20
+
15
21
  RSpec.configure do |config|
16
22
  config.run_all_when_everything_filtered = true
17
23
  config.filter_run :focus
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe Icalendar::Values::Date do
4
+
5
+ subject { described_class.new value, params }
6
+ let(:value) { '20140209' }
7
+ let(:params) { {} }
8
+
9
+ describe "#==" do
10
+ let(:other) { described_class.new value }
11
+
12
+ it "is equivalent to another Icalendar::Values::Date" do
13
+ expect(subject).to eq other
14
+ end
15
+
16
+ context "differing params" do
17
+ let(:params) { {"x-custom-param": "param-value"} }
18
+
19
+ it "is no longer equivalent" do
20
+ expect(subject).not_to eq other
21
+ end
22
+ end
23
+ end
24
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: icalendar
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.10.2
4
+ version: 2.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Ahearn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-21 00:00:00.000000000 Z
11
+ date: 2024-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ice_cube
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ostruct
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -237,6 +251,7 @@ files:
237
251
  - spec/todo_spec.rb
238
252
  - spec/tzinfo_spec.rb
239
253
  - spec/values/date_or_date_time_spec.rb
254
+ - spec/values/date_spec.rb
240
255
  - spec/values/date_time_spec.rb
241
256
  - spec/values/duration_spec.rb
242
257
  - spec/values/period_spec.rb
@@ -304,6 +319,7 @@ test_files:
304
319
  - spec/todo_spec.rb
305
320
  - spec/tzinfo_spec.rb
306
321
  - spec/values/date_or_date_time_spec.rb
322
+ - spec/values/date_spec.rb
307
323
  - spec/values/date_time_spec.rb
308
324
  - spec/values/duration_spec.rb
309
325
  - spec/values/period_spec.rb