Commit 6b52746

mo <mo@mokhan.ca>
2019-04-24 17:32:10
set min ruby to 2.4 to pull in latest patched version of nokogiri
1 parent 14713a6
lib/saml/kit/deprecated/metadata.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
 module Saml
   module Kit
     class Metadata
lib/saml/kit/bindings.rb
@@ -11,10 +11,10 @@ module Saml
     # the different SAML bindings that are
     # supported by this gem.
     module Bindings
-      BINDINGS_2_0 = 'urn:oasis:names:tc:SAML:2.0:bindings'.freeze
-      HTTP_ARTIFACT = "#{BINDINGS_2_0}:HTTP-Artifact".freeze
-      HTTP_POST = "#{BINDINGS_2_0}:HTTP-POST".freeze
-      HTTP_REDIRECT = "#{BINDINGS_2_0}:HTTP-Redirect".freeze
+      BINDINGS_2_0 = 'urn:oasis:names:tc:SAML:2.0:bindings'
+      HTTP_ARTIFACT = "#{BINDINGS_2_0}:HTTP-Artifact"
+      HTTP_POST = "#{BINDINGS_2_0}:HTTP-POST"
+      HTTP_REDIRECT = "#{BINDINGS_2_0}:HTTP-Redirect"
       ALL = {
         http_post: HTTP_POST,
         http_redirect: HTTP_REDIRECT,
lib/saml/kit/namespaces.rb
@@ -3,33 +3,33 @@
 module Saml
   module Kit
     module Namespaces
-      SAML_2_0 = 'urn:oasis:names:tc:SAML:2.0'.freeze
-      SAML_1_1 = 'urn:oasis:names:tc:SAML:1.1'.freeze
-      ATTR_NAME_FORMAT = "#{SAML_2_0}:attrname-format".freeze
-      NAME_ID_FORMAT_1_1 = "#{SAML_1_1}:nameid-format".freeze
-      NAME_ID_FORMAT_2_0 = "#{SAML_2_0}:nameid-format".freeze
-      STATUS = "#{SAML_2_0}:status".freeze
+      SAML_2_0 = 'urn:oasis:names:tc:SAML:2.0'
+      SAML_1_1 = 'urn:oasis:names:tc:SAML:1.1'
+      ATTR_NAME_FORMAT = "#{SAML_2_0}:attrname-format"
+      NAME_ID_FORMAT_1_1 = "#{SAML_1_1}:nameid-format"
+      NAME_ID_FORMAT_2_0 = "#{SAML_2_0}:nameid-format"
+      STATUS = "#{SAML_2_0}:status"
 
-      ASSERTION = "#{SAML_2_0}:assertion".freeze
-      ATTR_SPLAT = "#{ATTR_NAME_FORMAT}:*".freeze
-      BASIC = "#{ATTR_NAME_FORMAT}:basic".freeze
-      BEARER = "#{SAML_2_0}:cm:bearer".freeze
-      EMAIL_ADDRESS = "#{NAME_ID_FORMAT_1_1}:emailAddress".freeze
-      INVALID_NAME_ID_POLICY = "#{STATUS}:InvalidNameIDPolicy".freeze
-      METADATA = "#{SAML_2_0}:metadata".freeze
-      PASSWORD = "#{SAML_2_0}:ac:classes:Password".freeze
+      ASSERTION = "#{SAML_2_0}:assertion"
+      ATTR_SPLAT = "#{ATTR_NAME_FORMAT}:*"
+      BASIC = "#{ATTR_NAME_FORMAT}:basic"
+      BEARER = "#{SAML_2_0}:cm:bearer"
+      EMAIL_ADDRESS = "#{NAME_ID_FORMAT_1_1}:emailAddress"
+      INVALID_NAME_ID_POLICY = "#{STATUS}:InvalidNameIDPolicy"
+      METADATA = "#{SAML_2_0}:metadata"
+      PASSWORD = "#{SAML_2_0}:ac:classes:Password"
       PASSWORD_PROTECTED =
-        "#{SAML_2_0}:ac:classes:PasswordProtectedTransport".freeze
-      PERSISTENT = "#{NAME_ID_FORMAT_2_0}:persistent".freeze
-      PROTOCOL = "#{SAML_2_0}:protocol".freeze
-      REQUESTER_ERROR = "#{STATUS}:Requester".freeze
-      RESPONDER_ERROR = "#{STATUS}:Responder".freeze
-      SUCCESS = "#{STATUS}:Success".freeze
-      TRANSIENT = "#{NAME_ID_FORMAT_2_0}:transient".freeze
-      UNSPECIFIED = "#{SAML_2_0}:consent:unspecified".freeze
-      UNSPECIFIED_NAMEID = "#{NAME_ID_FORMAT_1_1}:unspecified".freeze
-      URI = "#{ATTR_NAME_FORMAT}:uri".freeze
-      VERSION_MISMATCH_ERROR = "#{STATUS}:VersionMismatch".freeze
+        "#{SAML_2_0}:ac:classes:PasswordProtectedTransport"
+      PERSISTENT = "#{NAME_ID_FORMAT_2_0}:persistent"
+      PROTOCOL = "#{SAML_2_0}:protocol"
+      REQUESTER_ERROR = "#{STATUS}:Requester"
+      RESPONDER_ERROR = "#{STATUS}:Responder"
+      SUCCESS = "#{STATUS}:Success"
+      TRANSIENT = "#{NAME_ID_FORMAT_2_0}:transient"
+      UNSPECIFIED = "#{SAML_2_0}:consent:unspecified"
+      UNSPECIFIED_NAMEID = "#{NAME_ID_FORMAT_1_1}:unspecified"
+      URI = "#{ATTR_NAME_FORMAT}:uri"
+      VERSION_MISMATCH_ERROR = "#{STATUS}:VersionMismatch"
     end
   end
 end
lib/saml/kit/organization.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
 module Saml
   module Kit
     class Organization
lib/saml/kit/version.rb
@@ -2,6 +2,6 @@
 
 module Saml
   module Kit
-    VERSION = '1.0.31'.freeze
+    VERSION = '1.0.31'
   end
 end
spec/saml/kit/bindings/url_builder_spec.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
 RSpec.describe Saml::Kit::Bindings::UrlBuilder do
   describe '#build' do
     let(:xml) { '<xml></xml>' }
@@ -57,9 +59,9 @@ RSpec.describe Saml::Kit::Bindings::UrlBuilder do
           query_params = to_query_params(result)
           expect(query_params['SigAlg']).to eql(CGI.escape(::Xml::Kit::Namespaces::SHA256))
 
-          payload = "#{query_string_parameter}=#{query_params[query_string_parameter]}"
-          payload << "&RelayState=#{query_params['RelayState']}"
-          payload << "&SigAlg=#{query_params['SigAlg']}"
+          payload = "#{query_string_parameter}=#{query_params[query_string_parameter]}" \
+                    "&RelayState=#{query_params['RelayState']}" \
+                    "&SigAlg=#{query_params['SigAlg']}"
           private_key = configuration.private_keys(use: :signing).last
           expected_signature = Base64.strict_encode64(private_key.sign(OpenSSL::Digest::SHA256.new, payload))
           expect(query_params['Signature']).to eql(expected_signature)
@@ -70,8 +72,8 @@ RSpec.describe Saml::Kit::Bindings::UrlBuilder do
           query_params = to_query_params(result)
           expect(query_params['SigAlg']).to eql(CGI.escape(::Xml::Kit::Namespaces::SHA256))
 
-          payload = "#{query_string_parameter}=#{query_params[query_string_parameter]}"
-          payload << "&SigAlg=#{query_params['SigAlg']}"
+          payload = "#{query_string_parameter}=#{query_params[query_string_parameter]}" \
+                    "&SigAlg=#{query_params['SigAlg']}"
           private_key = configuration.private_keys(use: :signing).last
           expected_signature = Base64.strict_encode64(private_key.sign(OpenSSL::Digest::SHA256.new, payload))
           expect(query_params['Signature']).to eql(expected_signature)
spec/saml/kit/builders/assertion_builder_spec.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
 require 'spec_helper'
 
 RSpec.describe Saml::Kit::Builders::Assertion do
.rubocop.yml
@@ -12,7 +12,7 @@ AllCops:
     - 'spec/examples/**/*'
     - 'tmp/**/*'
     - 'vendor/**/*'
-  TargetRubyVersion: 2.2
+  TargetRubyVersion: 2.4
 
 Layout/AlignParameters:
   Enabled: true
CHANGELOG.md
@@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ## [Unreleased]
 ### Changed
 - Rescue from invalid signature validation
+- Change minimum ruby version to 2.4
+- Change minimum bundler to 2.0
 
 ## [1.0.31] - 2019-04-17
 ### Changed
Gemfile.lock
@@ -108,7 +108,7 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  bundler (~> 1.17)
+  bundler (~> 2.0)
   bundler-audit (~> 0.6)
   ffaker (~> 2.7)
   rake (~> 10.0)
@@ -122,4 +122,4 @@ DEPENDENCIES
   webmock (~> 3.1)
 
 BUNDLED WITH
-   1.17.3
+   2.0.1
saml-kit.gemspec
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
   spec.description   = 'A simple toolkit for working with SAML.'
   spec.homepage      = 'https://github.com/saml-kit/saml-kit'
   spec.license       = 'MIT'
-  spec.required_ruby_version = '>= 2.2.0'
+  spec.required_ruby_version = '>= 2.4.0'
 
   spec.files = `git ls-files -z`.split("\x0").reject do |f|
     (
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
   spec.add_dependency 'activemodel', '>= 4.2.0'
   spec.add_dependency 'net-hippie', '~> 0.1'
   spec.add_dependency 'xml-kit', '>= 0.3.0', '< 1.0.0'
-  spec.add_development_dependency 'bundler', '~> 1.17'
+  spec.add_development_dependency 'bundler', '~> 2.0'
   spec.add_development_dependency 'bundler-audit', '~> 0.6'
   spec.add_development_dependency 'ffaker', '~> 2.7'
   spec.add_development_dependency 'rake', '~> 10.0'