saml-kit 1.2.0 → 1.3.0

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: d77013b5cfdff5bcf857a48182eacafc9a8683cb0171c4cd383a8d53f522f5ea
4
- data.tar.gz: 4a56b20855f4e83f47545b7fce9c31f47216b0bdc51bacdab6a29ba1e410f3d9
3
+ metadata.gz: c9a4200f425bfeb877bfefb73991a9f7f71192c4c62c42a57fdced9ca9dd7e29
4
+ data.tar.gz: 240318f54c98446e6ed07c57838e5186a642203566f24d33b13ebc8152262779
5
5
  SHA512:
6
- metadata.gz: f7eed807fd7d0a00de9fa669e6b52ae65f5487bcc1b408065d3c510d6323a7879d4412c67abe2a79a5fe7a08a38fa17296112586b4cd960dd4c13e1ca30ba7fa
7
- data.tar.gz: 2832e9ba9fc7453ea1db370b69153db556b72cb2d0e0990e3216412669fb6212c73145654ae4edd0f2c4d04b5b464979a342a11343bc3c2bff4963b877379590
6
+ metadata.gz: a05177ad91a35bdec004a0cc12fcec85a2f9b2cbc1e0b98a9c243cf05d790008bfa4f1189e3cb59eb49d34cfa162e9171ec82b24b3c190968d64911c2bdb8587
7
+ data.tar.gz: 3cef11e9d6eafd0ee8a471475f88b2635ba452d6490f310acc8f0349d8a1430349a541cb99632a05ed14e817bee8109afd98a3cda678ddb182848c65458fd0e9
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- Version 1.2.0
1
+ Version 1.3.0
2
2
 
3
3
  # Changelog
4
4
  All notable changes to this project will be documented in this file.
@@ -8,6 +8,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [1.3.0] - 2022-03-30
12
+ ### Removed
13
+
14
+ - Drop support for ruby 2.6
15
+ - Drop support for ruby 2.5
16
+
17
+ ### Changed
18
+
19
+ - fix: upgrade to Ruby 2.7+ `*args` syntax.
20
+ - fix: resolve deprecation warnings
21
+
11
22
  ## [1.2.0] - 2021-02-04
12
23
  ### Changed
13
24
  - Use [ActiveModel::Errors#add](https://www.rubydoc.info/docs/rails/ActiveModel%2FErrors:add)
@@ -87,7 +98,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
87
98
  ### Removed
88
99
  - Removed optional SessionNotOnOrAfter attribute from AuthnStatement.
89
100
 
90
- [Unreleased]: https://github.com/xlgmokha/saml-kit/compare/v1.2.0...HEAD
101
+ [Unreleased]: https://github.com/xlgmokha/saml-kit/compare/v1.3.0...HEAD
102
+ [1.3.0]: https://github.com/xlgmokha/saml-kit/compare/v1.2.0...v1.3.0
91
103
  [1.2.0]: https://github.com/xlgmokha/saml-kit/compare/v1.1.0...v1.2.0
92
104
  [1.1.0]: https://github.com/xlgmokha/saml-kit/compare/v1.0.31...v1.1.0
93
105
  [1.0.31]: https://github.com/xlgmokha/saml-kit/compare/v1.0.30...v1.0.31
data/Gemfile.lock CHANGED
@@ -1,71 +1,74 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- saml-kit (1.2.0)
5
- activemodel (~> 5.1)
6
- net-hippie (~> 0.1)
4
+ saml-kit (1.3.0)
5
+ activemodel (>= 5.1, < 8.0)
6
+ net-hippie (>= 0.1, < 2.0)
7
7
  xml-kit (~> 0.4)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activemodel (5.2.4.4)
13
- activesupport (= 5.2.4.4)
14
- activesupport (5.2.4.4)
12
+ activemodel (6.1.5)
13
+ activesupport (= 6.1.5)
14
+ activesupport (6.1.5)
15
15
  concurrent-ruby (~> 1.0, >= 1.0.2)
16
- i18n (>= 0.7, < 2)
17
- minitest (~> 5.1)
18
- tzinfo (~> 1.1)
19
- addressable (2.7.0)
16
+ i18n (>= 1.6, < 2)
17
+ minitest (>= 5.1)
18
+ tzinfo (~> 2.0)
19
+ zeitwerk (~> 2.3)
20
+ addressable (2.8.0)
20
21
  public_suffix (>= 2.0.2, < 5.0)
21
22
  ast (2.4.2)
22
23
  benchmark-malloc (0.2.0)
23
24
  benchmark-perf (0.6.0)
24
25
  benchmark-trend (0.4.0)
25
26
  builder (3.2.4)
26
- bundler-audit (0.7.0.1)
27
+ bundler-audit (0.9.0.1)
27
28
  bundler (>= 1.2.0, < 3)
28
- thor (>= 0.18, < 2)
29
- concurrent-ruby (1.1.8)
29
+ thor (~> 1.0)
30
+ concurrent-ruby (1.1.10)
30
31
  crack (0.4.5)
31
32
  rexml
32
- diff-lcs (1.4.4)
33
+ diff-lcs (1.5.0)
33
34
  docile (1.3.5)
34
- ffaker (2.17.0)
35
+ ffaker (2.20.0)
35
36
  hashdiff (1.0.1)
36
- i18n (1.8.8)
37
+ i18n (1.10.0)
37
38
  concurrent-ruby (~> 1.0)
38
- minitest (5.14.3)
39
- net-hippie (0.3.2)
40
- nokogiri (1.11.1-x86_64-linux)
39
+ mini_portile2 (2.8.0)
40
+ minitest (5.15.0)
41
+ net-hippie (1.1.1)
42
+ nokogiri (1.13.3)
43
+ mini_portile2 (~> 2.8.0)
41
44
  racc (~> 1.4)
42
45
  parallel (1.20.1)
43
46
  parser (3.0.0.0)
44
47
  ast (~> 2.4.1)
45
48
  public_suffix (4.0.6)
46
- racc (1.5.2)
49
+ racc (1.6.0)
47
50
  rainbow (3.0.0)
48
- rake (13.0.3)
51
+ rake (13.0.6)
49
52
  regexp_parser (2.0.3)
50
- rexml (3.2.4)
51
- rspec (3.10.0)
52
- rspec-core (~> 3.10.0)
53
- rspec-expectations (~> 3.10.0)
54
- rspec-mocks (~> 3.10.0)
53
+ rexml (3.2.5)
54
+ rspec (3.11.0)
55
+ rspec-core (~> 3.11.0)
56
+ rspec-expectations (~> 3.11.0)
57
+ rspec-mocks (~> 3.11.0)
55
58
  rspec-benchmark (0.6.0)
56
59
  benchmark-malloc (~> 0.2)
57
60
  benchmark-perf (~> 0.6)
58
61
  benchmark-trend (~> 0.4)
59
62
  rspec (>= 3.0)
60
- rspec-core (3.10.1)
61
- rspec-support (~> 3.10.0)
62
- rspec-expectations (3.10.1)
63
+ rspec-core (3.11.0)
64
+ rspec-support (~> 3.11.0)
65
+ rspec-expectations (3.11.0)
63
66
  diff-lcs (>= 1.2.0, < 2.0)
64
- rspec-support (~> 3.10.0)
65
- rspec-mocks (3.10.2)
67
+ rspec-support (~> 3.11.0)
68
+ rspec-mocks (3.11.0)
66
69
  diff-lcs (>= 1.2.0, < 2.0)
67
- rspec-support (~> 3.10.0)
68
- rspec-support (3.10.2)
70
+ rspec-support (~> 3.11.0)
71
+ rspec-support (3.11.0)
69
72
  rubocop (0.93.1)
70
73
  parallel (~> 1.10)
71
74
  parser (>= 2.7.1.5)
@@ -80,7 +83,7 @@ GEM
80
83
  rubocop-rspec (1.44.1)
81
84
  rubocop (~> 0.87)
82
85
  rubocop-ast (>= 0.7.1)
83
- ruby-prof (1.4.2)
86
+ ruby-prof (1.4.3)
84
87
  ruby-progressbar (1.11.0)
85
88
  simplecov (0.21.2)
86
89
  docile (~> 1.1)
@@ -89,13 +92,12 @@ GEM
89
92
  simplecov-html (0.12.3)
90
93
  simplecov_json_formatter (0.1.2)
91
94
  thor (1.1.0)
92
- thread_safe (0.3.6)
93
95
  tilt (2.0.10)
94
- tzinfo (1.2.9)
95
- thread_safe (~> 0.1)
96
+ tzinfo (2.0.4)
97
+ concurrent-ruby (~> 1.0)
96
98
  unicode-display_width (1.7.0)
97
- webmock (3.11.2)
98
- addressable (>= 2.3.6)
99
+ webmock (3.14.0)
100
+ addressable (>= 2.8.0)
99
101
  crack (>= 0.3.2)
100
102
  hashdiff (>= 0.4.0, < 2.0.0)
101
103
  xml-kit (0.5.0)
@@ -106,6 +108,7 @@ GEM
106
108
  xmldsig (~> 0.6)
107
109
  xmldsig (0.6.6)
108
110
  nokogiri (>= 1.6.8, < 2.0.0)
111
+ zeitwerk (2.5.4)
109
112
 
110
113
  PLATFORMS
111
114
  ruby
@@ -126,7 +126,7 @@ module Saml
126
126
  def must_have_valid_signature
127
127
  return if !signed? || signature.valid?
128
128
 
129
- signature.errors.each do |attribute, message|
129
+ signature.each_error do |attribute, message|
130
130
  errors.add(attribute, message)
131
131
  end
132
132
  end
@@ -51,9 +51,9 @@ module Saml
51
51
  @metadatum.each(&block)
52
52
  end
53
53
 
54
- def method_missing(name, *args)
54
+ def method_missing(name, *args, **kwargs)
55
55
  if (target = find { |x| x.respond_to?(name) })
56
- target.public_send(name, *args)
56
+ target.public_send(name, *args, **kwargs)
57
57
  else
58
58
  super
59
59
  end
@@ -9,20 +9,20 @@ module Saml
9
9
  extend ActiveSupport::Concern
10
10
 
11
11
  class_methods do
12
- def build(*args)
13
- builder(*args) do |builder|
12
+ def build(*args, **kwargs)
13
+ builder(*args, **kwargs) do |builder|
14
14
  yield builder if block_given?
15
15
  end.build
16
16
  end
17
17
 
18
- def build_xml(*args)
19
- builder(*args) do |builder|
18
+ def build_xml(*args, **kwargs)
19
+ builder(*args, **kwargs) do |builder|
20
20
  yield builder if block_given?
21
21
  end.to_xml
22
22
  end
23
23
 
24
- def builder(*args)
25
- builder_class.new(*args).tap do |builder|
24
+ def builder(*args, **kwargs)
25
+ builder_class.new(*args, **kwargs).tap do |builder|
26
26
  yield builder if block_given?
27
27
  end
28
28
  end
@@ -9,7 +9,7 @@ module Saml
9
9
  # @!visibility private
10
10
  def error_message(attribute, options = {})
11
11
  default_options = { scope: "saml/kit.errors.#{name}" }
12
- I18n.translate(attribute, default_options.merge(options))
12
+ I18n.translate(attribute, **default_options.merge(options))
13
13
  end
14
14
  end
15
15
  end
@@ -53,7 +53,7 @@ module Saml
53
53
  return unless signature.present?
54
54
 
55
55
  signature.valid?
56
- signature.errors.each do |attribute, error|
56
+ signature.each_error do |attribute, error|
57
57
  errors.add(attribute, error)
58
58
  end
59
59
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Saml
4
+ module Kit
5
+ # This module is responsible for
6
+ # providing an adapter to the ActiveModel::Validations
7
+ # module.
8
+ module Validatable
9
+ extend ActiveSupport::Concern
10
+ include ActiveModel::Validations
11
+
12
+ def each_error
13
+ if Gem::Requirement.new('>= 6.1').satisfied_by?(ActiveModel.version)
14
+ errors.each do |error|
15
+ yield error.attribute, error.message
16
+ end
17
+ else
18
+ errors.each do |attribute, message|
19
+ yield attribute, message
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -4,7 +4,7 @@ module Saml
4
4
  module Kit
5
5
  # This class is a base class for SAML documents.
6
6
  class Document
7
- include ActiveModel::Validations
7
+ include Validatable
8
8
  include Buildable
9
9
  include Translatable
10
10
  include Trustable
@@ -26,7 +26,7 @@ module Saml
26
26
  # for a list of options that can be specified.
27
27
  # {include:file:spec/examples/metadata_spec.rb}
28
28
  class Metadata
29
- include ActiveModel::Validations
29
+ include Validatable
30
30
  include Buildable
31
31
  include Translatable
32
32
  include XmlParseable
@@ -192,7 +192,7 @@ module Saml
192
192
  def must_have_valid_signature
193
193
  return if !signature.present? || signature.valid?
194
194
 
195
- signature.errors.each do |attribute, error|
195
+ signature.each_error do |attribute, error|
196
196
  errors.add(attribute, error)
197
197
  end
198
198
  end
@@ -6,7 +6,7 @@ module Saml
6
6
  # Null Object pattern for when a Response
7
7
  # is missing an Assertion.
8
8
  class NullAssertion
9
- include ActiveModel::Validations
9
+ include Validatable
10
10
  include Translatable
11
11
  validate :invalid
12
12
 
@@ -43,9 +43,8 @@ module Saml
43
43
 
44
44
  def must_be_valid_assertion
45
45
  assertion.valid?
46
- assertion.errors.each do |attribute, error|
47
- attribute = :assertion if attribute == :base
48
- errors.add(attribute, error)
46
+ assertion.each_error do |attribute, error|
47
+ errors.add(attribute == :base ? :assertion : attribute, error)
49
48
  end
50
49
  end
51
50
 
@@ -6,7 +6,7 @@ module Saml
6
6
  # validating an xml digital signature
7
7
  # in an xml document.
8
8
  class Signature
9
- include ActiveModel::Validations
9
+ include Validatable
10
10
  include Translatable
11
11
 
12
12
  validate :validate_signature
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Saml
4
4
  module Kit
5
- VERSION = '1.2.0'
5
+ VERSION = '1.3.0'
6
6
  end
7
7
  end
data/lib/saml/kit.rb CHANGED
@@ -23,6 +23,7 @@ require 'saml/kit/concerns/respondable'
23
23
  require 'saml/kit/concerns/serializable'
24
24
  require 'saml/kit/concerns/translatable'
25
25
  require 'saml/kit/concerns/trustable'
26
+ require 'saml/kit/concerns/validatable'
26
27
  require 'saml/kit/concerns/xml_parseable'
27
28
  require 'saml/kit/concerns/xml_templatable'
28
29
  require 'saml/kit/concerns/xsd_validatable'
data/saml-kit.gemspec CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
14
14
  spec.description = 'A simple toolkit for working with SAML.'
15
15
  spec.homepage = 'https://github.com/xlgmokha/saml-kit'
16
16
  spec.license = 'MIT'
17
- spec.required_ruby_version = '~> 2.5'
17
+ spec.required_ruby_version = '>= 2.7.0'
18
18
 
19
19
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
20
20
  (
@@ -28,8 +28,8 @@ Gem::Specification.new do |spec|
28
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
29
  spec.require_paths = ['lib']
30
30
 
31
- spec.add_dependency 'activemodel', '~> 5.1'
32
- spec.add_dependency 'net-hippie', '~> 0.1'
31
+ spec.add_dependency 'activemodel', '>= 5.1', '< 8.0'
32
+ spec.add_dependency 'net-hippie', '>= 0.1', '< 2.0'
33
33
  spec.add_dependency 'xml-kit', '~> 0.4'
34
34
  spec.add_development_dependency 'bundler', '~> 2.0'
35
35
  spec.add_development_dependency 'bundler-audit', '~> 0.6'
metadata CHANGED
@@ -1,43 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: saml-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo khan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-04 00:00:00.000000000 Z
11
+ date: 2022-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5.1'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '8.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '5.1'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '8.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: net-hippie
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
37
+ - - ">="
32
38
  - !ruby/object:Gem::Version
33
39
  version: '0.1'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '2.0'
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
- - - "~>"
47
+ - - ">="
39
48
  - !ruby/object:Gem::Version
40
49
  version: '0.1'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '2.0'
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: xml-kit
43
55
  requirement: !ruby/object:Gem::Requirement
@@ -263,6 +275,7 @@ files:
263
275
  - lib/saml/kit/concerns/serializable.rb
264
276
  - lib/saml/kit/concerns/translatable.rb
265
277
  - lib/saml/kit/concerns/trustable.rb
278
+ - lib/saml/kit/concerns/validatable.rb
266
279
  - lib/saml/kit/concerns/xml_parseable.rb
267
280
  - lib/saml/kit/concerns/xml_templatable.rb
268
281
  - lib/saml/kit/concerns/xsd_validatable.rb
@@ -322,23 +335,23 @@ licenses:
322
335
  - MIT
323
336
  metadata:
324
337
  yard.run: yri
325
- post_install_message:
338
+ post_install_message:
326
339
  rdoc_options: []
327
340
  require_paths:
328
341
  - lib
329
342
  required_ruby_version: !ruby/object:Gem::Requirement
330
343
  requirements:
331
- - - "~>"
344
+ - - ">="
332
345
  - !ruby/object:Gem::Version
333
- version: '2.5'
346
+ version: 2.7.0
334
347
  required_rubygems_version: !ruby/object:Gem::Requirement
335
348
  requirements:
336
349
  - - ">="
337
350
  - !ruby/object:Gem::Version
338
351
  version: '0'
339
352
  requirements: []
340
- rubygems_version: 3.1.4
341
- signing_key:
353
+ rubygems_version: 3.3.7
354
+ signing_key:
342
355
  specification_version: 4
343
356
  summary: A simple toolkit for working with SAML.
344
357
  test_files: []