diff --git a/.github/workflows/current.yml b/.github/workflows/current.yml index e91c297e..a884f009 100644 --- a/.github/workflows/current.yml +++ b/.github/workflows/current.yml @@ -38,19 +38,19 @@ jobs: matrix: include: # Ruby 3.4 - - ruby: "3.4" + - ruby: "ruby" appraisal_name: "ar-7-2" exec_cmd: "rake spec:orm:active_record" gemfile: "Appraisal.root" rubygems: latest bundler: latest - - ruby: "3.4" + - ruby: "ruby" appraisal_name: "ar-8-0" exec_cmd: "rake spec:orm:active_record" gemfile: "Appraisal.root" rubygems: latest bundler: latest - - ruby: "3.4" + - ruby: "ruby" appraisal_name: "sequel-5.86-r3" exec_cmd: "rake spec:orm:sequel" gemfile: "Appraisal.root" diff --git a/.github/workflows/kitchen.yml b/.github/workflows/deps_locked.yml similarity index 62% rename from .github/workflows/kitchen.yml rename to .github/workflows/deps_locked.yml index e05b473e..5178a8c0 100644 --- a/.github/workflows/kitchen.yml +++ b/.github/workflows/deps_locked.yml @@ -1,7 +1,21 @@ --- -# Targets the Rakefile's default task and the main Gemfile, -# which contributors and maintainers would use locally for development -name: Kitchen Sink +# Lock/Unlock Deps Pattern +# +# Two often conflicting goals resolved! +# +# - deps_unlocked.yml +# - All runtime & dev dependencies, but does not have a `gemfiles/*.gemfile.lock` committed +# - Uses an Appraisal2 "deps_unlocked" gemfile, and the current MRI Ruby release +# - Know when new dependency releases will break local dev with unlocked dependencies +# - Broken workflow indicates that new releases of dependencies may not work +# +# - deps_locked.yml +# - All runtime & dev dependencies, and has a `Gemfile.lock` committed +# - Uses the project's main Gemfile, and the current MRI Ruby release +# - Matches what contributors and maintainers use locally for development +# - Broken workflow indicates that a new contributor will have a bad time +# +name: Deps Locked permissions: contents: read @@ -30,7 +44,7 @@ concurrency: jobs: test: - name: Tests default rake task with main Gemfile.lock ${{ matrix.name_extra || '' }} + name: Default rake task w/ main Gemfile.lock ${{ matrix.name_extra || '' }} if: ${{ !contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]') }} runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental }} diff --git a/.github/workflows/deps_unlocked.yml b/.github/workflows/deps_unlocked.yml new file mode 100644 index 00000000..a14fc695 --- /dev/null +++ b/.github/workflows/deps_unlocked.yml @@ -0,0 +1,84 @@ +--- +# Lock/Unlock Deps Pattern +# +# Two often conflicting goals resolved! +# +# - deps_unlocked.yml +# - All runtime & dev dependencies, but does not have a `gemfiles/*.gemfile.lock` committed +# - Uses an Appraisal2 "deps_unlocked" gemfile, and the current MRI Ruby release +# - Know when new dependency releases will break local dev with unlocked dependencies +# - Broken workflow indicates that new releases of dependencies may not work +# +# - deps_locked.yml +# - All runtime & dev dependencies, and has a `Gemfile.lock` committed +# - Uses the project's main Gemfile, and the current MRI Ruby release +# - Matches what contributors and maintainers use locally for development +# - Broken workflow indicates that a new contributor will have a bad time +# +name: Deps Unlocked + +permissions: + contents: read + +env: + K_SOUP_COV_DO: false + +on: + push: + branches: + - 'main' + - "*-stable" + tags: + - '!*' # Do not execute on tags + pull_request: + branches: + - '*' + # Allow manually triggering the workflow. + workflow_dispatch: + +# Cancels all previous workflow runs for the same branch that have not yet completed. +concurrency: + # The concurrency group contains the workflow name and the branch name. + group: "${{ github.workflow }}-${{ github.ref }}" + cancel-in-progress: true + +jobs: + test: + name: Default rake task w/ unlocked deps ${{ matrix.name_extra || '' }} + if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')" + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} + env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps + BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile + strategy: + matrix: + include: + # Ruby + - ruby: "ruby" + appraisal_name: "deps_unlocked" + exec_cmd: "rake" + gemfile: "Appraisal.root" + rubygems: latest + bundler: latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Ruby & RubyGems + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + rubygems: ${{ matrix.rubygems }} + bundler: ${{ matrix.bundler }} + bundler-cache: false + + # Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root) + # We need to do this first to get appraisal installed. + # NOTE: This does not use the main Gemfile at all. + - name: Install Root Appraisal + run: bundle + - name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal_name }} + run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle + - name: Run ${{ matrix.exec_cmd }} on ${{ matrix.ruby }}@${{ matrix.appraisal_name }} + run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle exec ${{ matrix.exec_cmd }} diff --git a/.idea/omniauth-identity.iml b/.idea/omniauth-identity.iml index f6c46580..b8120b7b 100755 --- a/.idea/omniauth-identity.iml +++ b/.idea/omniauth-identity.iml @@ -72,6 +72,7 @@ + diff --git a/.idea/vcs.xml b/.idea/vcs.xml index c7befcff..35eb1ddf 100755 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,6 +2,5 @@ - \ No newline at end of file diff --git a/.rubocop_gradual.lock b/.rubocop_gradual.lock index 063bd006..850bf28e 100644 --- a/.rubocop_gradual.lock +++ b/.rubocop_gradual.lock @@ -1,5 +1,5 @@ { - "README.md:2730514579": [ + "README.md:3239175719": [ [201, 3, 100, "Style/ClassMethodsDefinitions: Use `class << self` to define a class method.", 3592044714] ], "Rakefile:3407355619": [ diff --git a/Appraisals b/Appraisals index d7803ed4..f2a8012a 100644 --- a/Appraisals +++ b/Appraisals @@ -4,6 +4,31 @@ # BUNDLE_GEMFILE=Appraisal.root.gemfile bundle # BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update # bundle exec rake rubocop_gradual:autocorrect +# NOTE: Commands need to be run from the devcontainer if old Rails or old sqlite3 won't install for you locally. + +# Lock/Unlock Deps Pattern +# +# Two often conflicting goals resolved! +# +# - deps_unlocked.yml +# - All runtime & dev dependencies, but does not have a `gemfiles/*.gemfile.lock` committed +# - Uses an Appraisal2 "deps_unlocked" gemfile, and the current MRI Ruby release +# - Know when new dependency releases will break local dev with unlocked dependencies +# - Broken workflow indicates that new releases of dependencies may not work +# +# - deps_locked.yml +# - All runtime & dev dependencies, and has a `Gemfile.lock` committed +# - Uses the project's main Gemfile, and the current MRI Ruby release +# - Matches what contributors and maintainers use locally for development +# - Broken workflow indicates that a new contributor will have a bad time +# +appraise "deps_unlocked" do + eval_gemfile("modular/audit.gemfile") + eval_gemfile("modular/coverage.gemfile") + eval_gemfile("modular/documentation.gemfile") + eval_gemfile("modular/style.gemfile") + eval_gemfile("modular/x_std_libs.gemfile") +end # Used for HEAD (nightly) releases of ruby, truffleruby, and jruby. # Split into discrete appraisals if one of them needs a dependency locked discretely. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5561b770..304818b6 100755 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,8 +34,37 @@ BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update bundle exec rake rubocop_gradual:autocorrect ``` +NOTE: Commands need to be run from the devcontainer if old Rails or old sqlite3 won't install for you locally. + When adding an appraisal to CI, check the [runner tool cache][๐Ÿƒโ€โ™‚๏ธrunner-tool-cache] to see which runner to use. +### We commit, and don't commit, our "gemfile.lock" files + +Thanks to [Appraisal2](https://github.com/appraisal-rb/appraisal2) we have a `gemfiles/*.gemfile` suite +in addition to the main `Gemfile` at the root of the project. +We run a workflow against the main Gemfile, which has a `Gemfile.lock` committed, and +we also run workflows against each of the Appraisal2 `gemfiles/*.gemfile` suite, +which **do not** have `gemfiles/*.gemfile.lock` committed. + +``` +# Lock/Unlock Deps Pattern +# +# Two often conflicting goals resolved! +# +# - deps_unlocked.yml +# - All runtime & dev dependencies, but does not have a `gemfiles/*.gemfile.lock` committed +# - Uses an Appraisal2 "deps_unlocked" gemfile, and the current MRI Ruby release +# - Know when new dependency releases will break local dev with unlocked dependencies +# - Broken workflow indicates that new releases of dependencies may not work +# +# - deps_locked.yml +# - All runtime & dev dependencies, and has a `Gemfile.lock` committed +# - Uses the project's main Gemfile, and the current MRI Ruby release +# - Matches what contributors and maintainers use locally for development +# - Broken workflow indicates that a new contributor will have a bad time +# +``` + ## The Reek List Take a look at the `reek` list which is the file called `REEK` and find something to improve. diff --git a/Gemfile b/Gemfile index 0b1cd175..253e38cf 100644 --- a/Gemfile +++ b/Gemfile @@ -11,7 +11,7 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } gemspec ### Std Lib Extracted Gems -eval_gemfile "gemfiles/modular/x_std_libs/r3/libs.gemfile" +eval_gemfile "gemfiles/modular/x_std_libs.gemfile" ### Security Audit eval_gemfile "gemfiles/modular/audit.gemfile" diff --git a/README.md b/README.md index 82f5ac14..21c01416 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ # ๐Ÿซต OmniAuth::Identity -[![Version][๐Ÿ‘ฝversioni]][๐Ÿ‘ฝversion] [![License: MIT][๐Ÿ“„license-img]][๐Ÿ“„license-ref] [![Downloads Rank][๐Ÿ‘ฝdl-ranki]][๐Ÿ‘ฝdl-rank] [![Open Source Helpers][๐Ÿ‘ฝoss-helpi]][๐Ÿ‘ฝoss-help] [![Depfu][๐Ÿ”‘depfuiโ™ป๏ธ]][๐Ÿ”‘depfu] [![Coveralls Test Coverage][๐Ÿ”‘coveralls-img]][๐Ÿ”‘coveralls] [![CodeCov Test Coverage][๐Ÿ”‘codecoviโ™ป๏ธ]][๐Ÿ”‘codecov] [![QLTY Test Coverage][๐Ÿ”‘qlty-covi]][๐Ÿ”‘qlty-cov] [![QLTY Maintainability][๐Ÿ”‘qlty-mnti]][๐Ÿ”‘qlty-mnt] [![CI Heads][๐ŸšŽ3-hd-wfi]][๐ŸšŽ3-hd-wf] [![CI Runtime Dependencies @ HEAD][๐ŸšŽ12-crh-wfi]][๐ŸšŽ12-crh-wf] [![CI Current][๐ŸšŽ11-c-wfi]][๐ŸšŽ11-c-wf] [![CI JRuby][๐ŸšŽ10-j-wfi]][๐ŸšŽ10-j-wf] [![CI Supported][๐ŸšŽ6-s-wfi]][๐ŸšŽ6-s-wf] [![CI Legacy][๐ŸšŽ4-lg-wfi]][๐ŸšŽ4-lg-wf] [![CI Unsupported][๐ŸšŽ7-us-wfi]][๐ŸšŽ7-us-wf] [![CI Ancient][๐ŸšŽ1-an-wfi]][๐ŸšŽ1-an-wf] [![CI Test Coverage][๐ŸšŽ2-cov-wfi]][๐ŸšŽ2-cov-wf] [![CI Style][๐ŸšŽ5-st-wfi]][๐ŸšŽ5-st-wf] [![CI w/ committed Gemfile.lock][๐ŸšŽ13-k-wfi]][๐ŸšŽ13-k-wf] +[![Version][๐Ÿ‘ฝversioni]][๐Ÿ‘ฝversion] [![License: MIT][๐Ÿ“„license-img]][๐Ÿ“„license-ref] [![Downloads Rank][๐Ÿ‘ฝdl-ranki]][๐Ÿ‘ฝdl-rank] [![Open Source Helpers][๐Ÿ‘ฝoss-helpi]][๐Ÿ‘ฝoss-help] [![Depfu][๐Ÿ”‘depfuiโ™ป๏ธ]][๐Ÿ”‘depfu] [![Coveralls Test Coverage][๐Ÿ”‘coveralls-img]][๐Ÿ”‘coveralls] [![CodeCov Test Coverage][๐Ÿ”‘codecoviโ™ป๏ธ]][๐Ÿ”‘codecov] [![QLTY Test Coverage][๐Ÿ”‘qlty-covi]][๐Ÿ”‘qlty-cov] [![QLTY Maintainability][๐Ÿ”‘qlty-mnti]][๐Ÿ”‘qlty-mnt] [![CI Heads][๐ŸšŽ3-hd-wfi]][๐ŸšŽ3-hd-wf] [![CI Runtime Dependencies @ HEAD][๐ŸšŽ12-crh-wfi]][๐ŸšŽ12-crh-wf] [![CI Current][๐ŸšŽ11-c-wfi]][๐ŸšŽ11-c-wf] [![CI JRuby][๐ŸšŽ10-j-wfi]][๐ŸšŽ10-j-wf] [![Deps Locked][๐ŸšŽ13-๐Ÿ”’๏ธ-wfi]][๐ŸšŽ13-๐Ÿ”’๏ธ-wf] [![Deps Unlocked][๐ŸšŽ14-๐Ÿ”“๏ธ-wfi]][๐ŸšŽ14-๐Ÿ”“๏ธ-wf] [![CI Supported][๐ŸšŽ6-s-wfi]][๐ŸšŽ6-s-wf] [![CI Legacy][๐ŸšŽ4-lg-wfi]][๐ŸšŽ4-lg-wf] [![CI Unsupported][๐ŸšŽ7-us-wfi]][๐ŸšŽ7-us-wf] [![CI Ancient][๐ŸšŽ1-an-wfi]][๐ŸšŽ1-an-wf] [![CI Test Coverage][๐ŸšŽ2-cov-wfi]][๐ŸšŽ2-cov-wf] [![CI Style][๐ŸšŽ5-st-wfi]][๐ŸšŽ5-st-wf] [![CI w/ committed Gemfile.lock][๐ŸšŽ13-k-wfi]][๐ŸšŽ13-k-wf] --- @@ -566,8 +566,10 @@ P.S. If you need help๏ธ, or want to say thanks, ๐Ÿ‘‡ Join the Discord. [๐ŸšŽ11-c-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/current.yml/badge.svg [๐ŸšŽ12-crh-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/current-runtime-heads.yml [๐ŸšŽ12-crh-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/current-runtime-heads.yml/badge.svg -[๐ŸšŽ13-k-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/kitchen.yml -[๐ŸšŽ13-k-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/kitchen.yml/badge.svg +[๐ŸšŽ13-๐Ÿ”’๏ธ-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/deps_locked.yml +[๐ŸšŽ13-๐Ÿ”’๏ธ-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/deps_locked.yml/badge.svg +[๐ŸšŽ14-๐Ÿ”“๏ธ-wf]: https://github.com/omniauth/omniauth-identity/actions/workflows/deps_unlocked.yml +[๐ŸšŽ14-๐Ÿ”“๏ธ-wfi]: https://github.com/omniauth/omniauth-identity/actions/workflows/deps_unlocked.yml/badge.svg [๐Ÿ’Žruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white [๐Ÿ’Žruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white [๐Ÿ’Žruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white diff --git a/bin/appraisal b/bin/appraisal index 5038ce52..bc7d25bd 100755 --- a/bin/appraisal +++ b/bin/appraisal @@ -10,18 +10,7 @@ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) -bundle_binstub = File.expand_path("bundle", __dir__) - -if File.file?(bundle_binstub) - if File.read(bundle_binstub, 300).include?("This file was generated by Bundler") - load(bundle_binstub) - else - abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. -Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") - end -end - require "rubygems" require "bundler/setup" -load Gem.bin_path("appraisal", "appraisal") +load Gem.bin_path("appraisal2", "appraisal") diff --git a/bin/erb b/bin/erb new file mode 100755 index 00000000..58e756ae --- /dev/null +++ b/bin/erb @@ -0,0 +1,16 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'erb' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("erb", "erb") diff --git a/bin/kramdown b/bin/kramdown new file mode 100755 index 00000000..547fd063 --- /dev/null +++ b/bin/kramdown @@ -0,0 +1,16 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'kramdown' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("kramdown", "kramdown") diff --git a/bin/nokogiri b/bin/nokogiri new file mode 100755 index 00000000..8b72331f --- /dev/null +++ b/bin/nokogiri @@ -0,0 +1,16 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'nokogiri' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("nokogiri", "nokogiri") diff --git a/docs/OmniAuth.html b/docs/OmniAuth.html index 4032e9cd..a84500df 100644 --- a/docs/OmniAuth.html +++ b/docs/OmniAuth.html @@ -107,7 +107,7 @@

Defined Under Namespace

diff --git a/docs/OmniAuth/Identity.html b/docs/OmniAuth/Identity.html index 3336bfb8..1f159689 100644 --- a/docs/OmniAuth/Identity.html +++ b/docs/OmniAuth/Identity.html @@ -107,7 +107,7 @@

Defined Under Namespace

diff --git a/docs/OmniAuth/Identity/Model.html b/docs/OmniAuth/Identity/Model.html index 5560ab30..080ec2d2 100644 --- a/docs/OmniAuth/Identity/Model.html +++ b/docs/OmniAuth/Identity/Model.html @@ -744,7 +744,7 @@

diff --git a/docs/OmniAuth/Identity/Model/ClassCreateApi.html b/docs/OmniAuth/Identity/Model/ClassCreateApi.html index 51af7b4a..db0942c3 100644 --- a/docs/OmniAuth/Identity/Model/ClassCreateApi.html +++ b/docs/OmniAuth/Identity/Model/ClassCreateApi.html @@ -248,7 +248,7 @@

diff --git a/docs/OmniAuth/Identity/Model/ClassMethods.html b/docs/OmniAuth/Identity/Model/ClassMethods.html index db0daf9f..127986e7 100644 --- a/docs/OmniAuth/Identity/Model/ClassMethods.html +++ b/docs/OmniAuth/Identity/Model/ClassMethods.html @@ -436,7 +436,7 @@

diff --git a/docs/OmniAuth/Identity/Model/InstancePersistedApi.html b/docs/OmniAuth/Identity/Model/InstancePersistedApi.html index 09b06c71..d23bd757 100644 --- a/docs/OmniAuth/Identity/Model/InstancePersistedApi.html +++ b/docs/OmniAuth/Identity/Model/InstancePersistedApi.html @@ -226,7 +226,7 @@

diff --git a/docs/OmniAuth/Identity/Model/InstanceSaveApi.html b/docs/OmniAuth/Identity/Model/InstanceSaveApi.html index c17e544f..58624f52 100644 --- a/docs/OmniAuth/Identity/Model/InstanceSaveApi.html +++ b/docs/OmniAuth/Identity/Model/InstanceSaveApi.html @@ -228,7 +228,7 @@

diff --git a/docs/OmniAuth/Identity/Models.html b/docs/OmniAuth/Identity/Models.html index 071c996e..c43e6ff8 100644 --- a/docs/OmniAuth/Identity/Models.html +++ b/docs/OmniAuth/Identity/Models.html @@ -109,7 +109,7 @@

Defined Under Namespace

diff --git a/docs/OmniAuth/Identity/Models/ActiveRecord.html b/docs/OmniAuth/Identity/Models/ActiveRecord.html index 31478cd4..5e99daf3 100644 --- a/docs/OmniAuth/Identity/Models/ActiveRecord.html +++ b/docs/OmniAuth/Identity/Models/ActiveRecord.html @@ -292,7 +292,7 @@

diff --git a/docs/OmniAuth/Identity/Models/CouchPotatoModule.html b/docs/OmniAuth/Identity/Models/CouchPotatoModule.html index 62d39974..bac673bf 100644 --- a/docs/OmniAuth/Identity/Models/CouchPotatoModule.html +++ b/docs/OmniAuth/Identity/Models/CouchPotatoModule.html @@ -217,7 +217,7 @@

diff --git a/docs/OmniAuth/Identity/Models/Mongoid.html b/docs/OmniAuth/Identity/Models/Mongoid.html index 7aa2c234..f85d8ea6 100644 --- a/docs/OmniAuth/Identity/Models/Mongoid.html +++ b/docs/OmniAuth/Identity/Models/Mongoid.html @@ -207,7 +207,7 @@

diff --git a/docs/OmniAuth/Identity/Models/NoBrainer.html b/docs/OmniAuth/Identity/Models/NoBrainer.html index 2f814b4d..a80bbd11 100644 --- a/docs/OmniAuth/Identity/Models/NoBrainer.html +++ b/docs/OmniAuth/Identity/Models/NoBrainer.html @@ -207,7 +207,7 @@

diff --git a/docs/OmniAuth/Identity/Models/Sequel.html b/docs/OmniAuth/Identity/Models/Sequel.html index f8c6ed30..a4ba086c 100644 --- a/docs/OmniAuth/Identity/Models/Sequel.html +++ b/docs/OmniAuth/Identity/Models/Sequel.html @@ -262,7 +262,7 @@

diff --git a/docs/OmniAuth/Identity/SecurePassword.html b/docs/OmniAuth/Identity/SecurePassword.html index 8e85258c..f2849598 100644 --- a/docs/OmniAuth/Identity/SecurePassword.html +++ b/docs/OmniAuth/Identity/SecurePassword.html @@ -302,7 +302,7 @@

diff --git a/docs/OmniAuth/Identity/SecurePassword/ClassMethods.html b/docs/OmniAuth/Identity/SecurePassword/ClassMethods.html index 6dbe1572..6075a4a7 100644 --- a/docs/OmniAuth/Identity/SecurePassword/ClassMethods.html +++ b/docs/OmniAuth/Identity/SecurePassword/ClassMethods.html @@ -305,7 +305,7 @@

diff --git a/docs/OmniAuth/Identity/SecurePassword/InstanceMethodsOnActivation.html b/docs/OmniAuth/Identity/SecurePassword/InstanceMethodsOnActivation.html index 770004e7..192cb286 100644 --- a/docs/OmniAuth/Identity/SecurePassword/InstanceMethodsOnActivation.html +++ b/docs/OmniAuth/Identity/SecurePassword/InstanceMethodsOnActivation.html @@ -264,7 +264,7 @@

diff --git a/docs/OmniAuth/Identity/Version.html b/docs/OmniAuth/Identity/Version.html index a3eab633..f9e4b5a2 100644 --- a/docs/OmniAuth/Identity/Version.html +++ b/docs/OmniAuth/Identity/Version.html @@ -111,7 +111,7 @@

diff --git a/docs/OmniAuth/Strategies.html b/docs/OmniAuth/Strategies.html index d0e0e7af..1db3e1da 100644 --- a/docs/OmniAuth/Strategies.html +++ b/docs/OmniAuth/Strategies.html @@ -107,7 +107,7 @@

Defined Under Namespace

diff --git a/docs/OmniAuth/Strategies/Identity.html b/docs/OmniAuth/Strategies/Identity.html index 36d3b6ae..b1365507 100644 --- a/docs/OmniAuth/Strategies/Identity.html +++ b/docs/OmniAuth/Strategies/Identity.html @@ -760,7 +760,7 @@

diff --git a/docs/_index.html b/docs/_index.html index dc6ed72e..73cdfa6d 100644 --- a/docs/_index.html +++ b/docs/_index.html @@ -300,7 +300,7 @@

Namespace Listing A-Z

diff --git a/docs/file.CHANGELOG.html b/docs/file.CHANGELOG.html index 0fc774ad..13ce519e 100644 --- a/docs/file.CHANGELOG.html +++ b/docs/file.CHANGELOG.html @@ -396,7 +396,7 @@

Removed

diff --git a/docs/file.CITATION.html b/docs/file.CITATION.html index b2577983..d0ca1be4 100644 --- a/docs/file.CITATION.html +++ b/docs/file.CITATION.html @@ -82,7 +82,7 @@ diff --git a/docs/file.CODE_OF_CONDUCT.html b/docs/file.CODE_OF_CONDUCT.html index 21add84a..8cdb1ccd 100644 --- a/docs/file.CODE_OF_CONDUCT.html +++ b/docs/file.CODE_OF_CONDUCT.html @@ -192,7 +192,7 @@

Attribution

diff --git a/docs/file.CONTRIBUTING.html b/docs/file.CONTRIBUTING.html index 17981bf5..9f1df439 100644 --- a/docs/file.CONTRIBUTING.html +++ b/docs/file.CONTRIBUTING.html @@ -94,6 +94,8 @@

Appraisals

bundle exec rake rubocop_gradual:autocorrect +

NOTE: Commands need to be run from the devcontainer if old Rails or old sqlite3 wonโ€™t install for you locally.

+

When adding an appraisal to CI, check the runner tool cache to see which runner to use.

The Reek List

@@ -244,7 +246,7 @@

To release a new version:

diff --git a/docs/file.LICENSE.html b/docs/file.LICENSE.html index 02af9af1..ec821a8a 100644 --- a/docs/file.LICENSE.html +++ b/docs/file.LICENSE.html @@ -60,7 +60,7 @@
MIT License

Copyright (c) 2021, 2024-2025 Peter H. Boling, and omniauth-identity contributors
Copyright (c) 2020 Peter H. Boling, Andrew Roberts, and Jellybooks Ltd.
Copyright (c) 2010-2015 Michael Bleigh, and Intridea, Inc.

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/docs/file.README.html b/docs/file.README.html index 9244ee4c..a129f94a 100644 --- a/docs/file.README.html +++ b/docs/file.README.html @@ -606,7 +606,7 @@

๐Ÿค‘ One more thing

diff --git a/docs/file.SECURITY.html b/docs/file.SECURITY.html index db7242c5..72bfefcf 100644 --- a/docs/file.SECURITY.html +++ b/docs/file.SECURITY.html @@ -114,7 +114,7 @@

Enterprise Support

diff --git a/docs/index.html b/docs/index.html index 845a2d04..2ca467c8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -606,7 +606,7 @@

๐Ÿค‘ One more thing

diff --git a/docs/top-level-namespace.html b/docs/top-level-namespace.html index 4c27a00b..f08b945b 100644 --- a/docs/top-level-namespace.html +++ b/docs/top-level-namespace.html @@ -100,7 +100,7 @@

Defined Under Namespace

diff --git a/gemfiles/deps_unlocked.gemfile b/gemfiles/deps_unlocked.gemfile new file mode 100644 index 00000000..04d48282 --- /dev/null +++ b/gemfiles/deps_unlocked.gemfile @@ -0,0 +1,15 @@ +# This file was generated by Appraisal2 + +source "https://rubygems.org" + +gemspec path: "../" + +eval_gemfile("modular/audit.gemfile") + +eval_gemfile("modular/coverage.gemfile") + +eval_gemfile("modular/documentation.gemfile") + +eval_gemfile("modular/style.gemfile") + +eval_gemfile("modular/x_std_libs.gemfile") diff --git a/gemfiles/modular/x_std_libs.gemfile b/gemfiles/modular/x_std_libs.gemfile new file mode 100644 index 00000000..cb677752 --- /dev/null +++ b/gemfiles/modular/x_std_libs.gemfile @@ -0,0 +1,2 @@ +### Std Lib Extracted Gems +eval_gemfile "x_std_libs/r3/libs.gemfile"