diff options
| author | mo khan <mo@mokhan.ca> | 2024-12-05 17:41:15 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2024-12-05 17:41:15 -0700 |
| commit | 3577cabc41b6b0a4dd5fee9e64ba1fb0b4715b6f (patch) | |
| tree | 1c32a7c46de1c0a5b79ab91bfedda2a822e7bfbb | |
| parent | f11258f2b6334bedc642f2cbf49ebe653b432a37 (diff) | |
chore: upgrade to minimum Ruby 3.1
| -rw-r--r-- | .github/workflows/ci.yml | 6 | ||||
| -rw-r--r-- | .rubocop.yml | 13 | ||||
| -rw-r--r-- | Gemfile.lock | 37 | ||||
| -rw-r--r-- | lib/scim/kit.rb | 2 | ||||
| -rw-r--r-- | lib/scim/kit/v2.rb | 2 | ||||
| -rw-r--r-- | lib/scim/kit/v2/attributable.rb | 6 | ||||
| -rw-r--r-- | lib/scim/kit/v2/messages.rb | 12 | ||||
| -rw-r--r-- | lib/scim/kit/v2/schemas.rb | 16 | ||||
| -rw-r--r-- | scim-kit.gemspec | 6 |
9 files changed, 61 insertions, 39 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 82c0a8f..c0ba17e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4'] + ruby-version: ['3.1', '3.2', '3.3', '3.4'] steps: - uses: actions/checkout@v2 - name: Set up Ruby @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: - ruby-version: '3.0' + ruby-version: '3.1' bundler-cache: true - name: Running style checks… run: sh bin/style @@ -35,7 +35,7 @@ jobs: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: - ruby-version: '3.0' + ruby-version: '3.1' bundler-cache: true - name: Running audit… run: sh bin/audit diff --git a/.rubocop.yml b/.rubocop.yml index 31a0061..3bb991a 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -7,7 +7,7 @@ AllCops: - 'pkg/**/*' - 'tmp/**/*' - 'vendor/**/*' - TargetRubyVersion: 2.7 + TargetRubyVersion: 3.1 Layout/ArgumentAlignment: EnforcedStyle: with_fixed_indentation @@ -23,6 +23,7 @@ Layout/LineLength: - 'spec/**/*.rb' IgnoredPatterns: - '^#*' + Max: 80 Layout/MultilineMethodCallIndentation: Enabled: true @@ -37,6 +38,10 @@ Lint/AmbiguousBlockAssociation: Exclude: - 'spec/**/*.rb' +Lint/EmptyFile: + Exclude: + - 'lib/scim/kit/v2/templates/nil_class.json.jbuilder' + Lint/RaiseException: Enabled: true @@ -64,6 +69,9 @@ Naming/FileName: Naming/RescuedExceptionsVariableName: PreferredName: error +Style/AccessorGrouping: + Enabled: false + Style/Documentation: Enabled: false @@ -83,6 +91,9 @@ Style/IfUnlessModifier: Style/StringLiterals: EnforcedStyle: 'single_quotes' +Style/SymbolProc: + Enabled: false + Style/TrailingCommaInArrayLiteral: Enabled: false diff --git a/Gemfile.lock b/Gemfile.lock index 339b431..e9bdec7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -57,6 +57,8 @@ GEM jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) + json (2.9.0) + language_server-protocol (3.17.0.3) logger (1.6.2) loofah (2.23.1) crass (~> 1.0.2) @@ -101,20 +103,29 @@ GEM diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-support (3.13.2) - rubocop (0.93.1) + rubocop (1.69.1) + json (~> 2.3) + language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 2.7.1.5) + parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8) - rexml - rubocop-ast (>= 0.6.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.36.2, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 2.0) + unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.36.2) parser (>= 3.3.1.0) - rubocop-rspec (1.44.1) - rubocop (~> 0.87) - rubocop-ast (>= 0.7.1) + rubocop-capybara (2.21.0) + rubocop (~> 1.41) + rubocop-factory_bot (2.26.1) + rubocop (~> 1.61) + rubocop-rspec (2.31.0) + rubocop (~> 1.40) + rubocop-capybara (~> 2.17) + rubocop-factory_bot (~> 2.22) + rubocop-rspec_rails (~> 2.28) + rubocop-rspec_rails (2.29.1) + rubocop (~> 1.61) ruby-progressbar (1.13.0) securerandom (0.4.0) thor (1.3.2) @@ -124,7 +135,9 @@ GEM tilt (>= 1.3.0, < 3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (1.8.0) + unicode-display_width (3.1.2) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) webmock (3.24.0) addressable (>= 2.8.0) crack (>= 0.3.2) @@ -139,8 +152,8 @@ DEPENDENCIES ffaker (~> 2.7) rake (~> 13.0) rspec (~> 3.0) - rubocop (~> 0.52) - rubocop-rspec (~> 1.22) + rubocop (~> 1.0) + rubocop-rspec (~> 2.0) scim-kit! webmock (~> 3.5) diff --git a/lib/scim/kit.rb b/lib/scim/kit.rb index 57715ab..64a4f4e 100644 --- a/lib/scim/kit.rb +++ b/lib/scim/kit.rb @@ -25,7 +25,7 @@ module Scim TYPE_ERROR = ArgumentError.new(:type) def self.logger - @logger ||= Logger.new(STDOUT) + @logger ||= Logger.new($stdout) end def self.logger=(logger) diff --git a/lib/scim/kit/v2.rb b/lib/scim/kit/v2.rb index a29cbdd..a8aae8c 100644 --- a/lib/scim/kit/v2.rb +++ b/lib/scim/kit/v2.rb @@ -29,7 +29,7 @@ module Scim module V2 BASE64 = %r( \A([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?\Z - )x.freeze + )x BOOLEAN_VALUES = [true, false].freeze DATATYPES = { string: 'string', diff --git a/lib/scim/kit/v2/attributable.rb b/lib/scim/kit/v2/attributable.rb index 21d6431..d8145b6 100644 --- a/lib/scim/kit/v2/attributable.rb +++ b/lib/scim/kit/v2/attributable.rb @@ -66,10 +66,8 @@ module Scim # yields each attribute to the provided block # @param [Block] the block to yield each attribute to. - def each - dynamic_attributes.each do |_name, attribute| - yield attribute - end + def each(&block) + dynamic_attributes.each_value(&block) end private diff --git a/lib/scim/kit/v2/messages.rb b/lib/scim/kit/v2/messages.rb index b25238c..b4f9718 100644 --- a/lib/scim/kit/v2/messages.rb +++ b/lib/scim/kit/v2/messages.rb @@ -5,12 +5,12 @@ module Scim module V2 module Messages CORE = 'urn:ietf:params:scim:api:messages:2.0' - BULK_REQUEST = "#{CORE}:BulkRequest" - BULK_RESPONSE = "#{CORE}:BulkResponse" - ERROR = "#{CORE}:Error" - LIST_RESPONSE = "#{CORE}:ListResponse" - PATCH_OP = "#{CORE}:PatchOp" - SEARCH_REQUEST = "#{CORE}:SearchRequest" + BULK_REQUEST = "#{CORE}:BulkRequest".freeze + BULK_RESPONSE = "#{CORE}:BulkResponse".freeze + ERROR = "#{CORE}:Error".freeze + LIST_RESPONSE = "#{CORE}:ListResponse".freeze + PATCH_OP = "#{CORE}:PatchOp".freeze + SEARCH_REQUEST = "#{CORE}:SearchRequest".freeze end end end diff --git a/lib/scim/kit/v2/schemas.rb b/lib/scim/kit/v2/schemas.rb index 2c3f3af..fda5c6f 100644 --- a/lib/scim/kit/v2/schemas.rb +++ b/lib/scim/kit/v2/schemas.rb @@ -6,14 +6,14 @@ module Scim module Schemas ROOT = 'urn:ietf:params:scim:schemas' - CORE = "#{ROOT}:core:2.0" - EXTENSION = "#{ROOT}:extension" - ENTERPRISE_USER = "#{EXTENSION}:enterprise:2.0:User" - GROUP = "#{CORE}:Group" - RESOURCE_TYPE = "#{CORE}:ResourceType" - SCHEMA = "#{CORE}:Schema" - SERVICE_PROVIDER_CONFIGURATION = "#{CORE}:ServiceProviderConfig" - USER = "#{CORE}:User" + CORE = "#{ROOT}:core:2.0".freeze + EXTENSION = "#{ROOT}:extension".freeze + ENTERPRISE_USER = "#{EXTENSION}:enterprise:2.0:User".freeze + GROUP = "#{CORE}:Group".freeze + RESOURCE_TYPE = "#{CORE}:ResourceType".freeze + SCHEMA = "#{CORE}:Schema".freeze + SERVICE_PROVIDER_CONFIGURATION = "#{CORE}:ServiceProviderConfig".freeze + USER = "#{CORE}:User".freeze end end end diff --git a/scim-kit.gemspec b/scim-kit.gemspec index b303cd9..a2ce082 100644 --- a/scim-kit.gemspec +++ b/scim-kit.gemspec @@ -27,7 +27,7 @@ Gem::Specification.new do |spec| File.basename(file) end spec.require_paths = ['lib'] - spec.required_ruby_version = Gem::Requirement.new('>= 2.7.0') + spec.required_ruby_version = Gem::Requirement.new('>= 3.1.0') spec.metadata['yard.run'] = 'yri' spec.add_dependency 'activemodel', '>= 6.1', '< 8.0' @@ -39,7 +39,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'ffaker', '~> 2.7' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec', '~> 3.0' - spec.add_development_dependency 'rubocop', '~> 0.52' - spec.add_development_dependency 'rubocop-rspec', '~> 1.22' + spec.add_development_dependency 'rubocop', '~> 1.0' + spec.add_development_dependency 'rubocop-rspec', '~> 2.0' spec.add_development_dependency 'webmock', '~> 3.5' end |
