From cb4bff3090d82469cab38bfde904a82b0ee40c85 Mon Sep 17 00:00:00 2001 From: "Peter H. Boling" Date: Mon, 10 Nov 2025 17:01:51 -0700 Subject: [PATCH 01/23] =?UTF-8?q?=F0=9F=94=A7=20Chore:=20housekeeping?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .envrc | 3 +- .gitignore | 9 + .idea/.gitignore | 20 - .idea/GitLink.xml | 0 .idea/active-tab-highlighter.xml | 13 - .idea/dbnavigator.xml | 430 ------------------- .idea/developer-tools.xml | 6 - .idea/git_toolbox_blame.xml | 11 - .idea/git_toolbox_prj.xml | 15 - .idea/inspectionProfiles/Project_Default.xml | 10 - .idea/misc.xml | 11 + .idea/omniauth-identity.iml | 222 ++++++++++ .idea/workspace.xml | 160 +++++++ Appraisals | 45 +- Gemfile | 3 + Gemfile.lock | 141 +++++- docs/file.omniauth-identity-3.1.0.gem.html | 71 --- docs/file.omniauth-identity-3.1.1.gem.html | 71 --- docs/file.omniauth-identity-3.1.2.gem.html | 71 --- docs/file.omniauth-identity-3.1.3.gem.html | 71 --- docs/file.omniauth-identity-3.1.4.gem.html | 71 --- gemfiles/ar_5_2_r2.4.gemfile | 4 +- gemfiles/ar_5_2_r2.gemfile | 4 +- gemfiles/ar_6_0.gemfile | 4 +- gemfiles/ar_6_1_r2.6.gemfile | 4 +- gemfiles/ar_6_1_r2.gemfile | 4 +- gemfiles/ar_6_1_r3.gemfile | 4 +- gemfiles/ar_7_0_r2.gemfile | 4 +- gemfiles/ar_7_0_r3.gemfile | 4 +- gemfiles/ar_7_1_r2.gemfile | 4 +- gemfiles/ar_7_1_r3.1.gemfile | 4 +- gemfiles/ar_7_1_r3.gemfile | 4 +- gemfiles/ar_7_2.gemfile | 4 +- gemfiles/ar_8_0.gemfile | 4 +- gemfiles/audit.gemfile | 2 +- gemfiles/couch_1.17_r2.4.gemfile | 6 +- gemfiles/couch_1.17_r2.5.gemfile | 4 +- gemfiles/couch_1.17_r2.6.gemfile | 4 +- gemfiles/couch_1.17_r2.7.gemfile | 4 +- gemfiles/couch_1.17_r3.1.gemfile | 4 +- gemfiles/couch_1.17_r3.gemfile | 4 +- gemfiles/coverage.gemfile | 4 +- gemfiles/dep_heads.gemfile | 4 +- gemfiles/modular/integration.gemfile | 27 ++ gemfiles/mongoid_7.3_b4.12.gemfile | 4 +- gemfiles/mongoid_7.3_b4.15.gemfile | 4 +- gemfiles/mongoid_7.4_b4.15.gemfile | 4 +- gemfiles/mongoid_7.4_b5.gemfile | 4 +- gemfiles/mongoid_8.1_r2.6.gemfile | 4 +- gemfiles/mongoid_8.1_r2.gemfile | 4 +- gemfiles/mongoid_8.1_r3.1.gemfile | 4 +- gemfiles/mongoid_8.1_r3.gemfile | 4 +- gemfiles/mongoid_9.0_r2_omni1.9.gemfile | 4 +- gemfiles/mongoid_9.0_r2_omni2.0.gemfile | 4 +- gemfiles/mongoid_9.0_r2_omni2.1.gemfile | 4 +- gemfiles/mongoid_9.0_r3.1.gemfile | 4 +- gemfiles/mongoid_9.0_r3.gemfile | 4 +- gemfiles/rom_r3.1.gemfile | 4 +- gemfiles/rom_r3.gemfile | 4 +- gemfiles/sequel_5.86_r2.4.gemfile | 4 +- gemfiles/sequel_5.86_r2.5.gemfile | 4 +- gemfiles/sequel_5.86_r2.6.gemfile | 4 +- gemfiles/sequel_5.86_r2.7.gemfile | 4 +- gemfiles/sequel_5.86_r3.1.gemfile | 4 +- gemfiles/sequel_5.86_r3.gemfile | 4 +- gemfiles/style.gemfile | 2 +- gemfiles/unlocked_deps.gemfile | 4 +- omniauth-identity.gemspec | 2 +- spec/dummies/.keep | 0 spec/integration/README.md | 35 ++ spec/integration/spec_helper.rb | 125 ++++++ 71 files changed, 905 insertions(+), 916 deletions(-) delete mode 100755 .idea/.gitignore mode change 100755 => 100644 .idea/GitLink.xml delete mode 100755 .idea/active-tab-highlighter.xml delete mode 100644 .idea/dbnavigator.xml delete mode 100755 .idea/developer-tools.xml delete mode 100755 .idea/git_toolbox_blame.xml delete mode 100755 .idea/git_toolbox_prj.xml delete mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/omniauth-identity.iml create mode 100644 .idea/workspace.xml delete mode 100644 docs/file.omniauth-identity-3.1.0.gem.html delete mode 100644 docs/file.omniauth-identity-3.1.1.gem.html delete mode 100644 docs/file.omniauth-identity-3.1.2.gem.html delete mode 100644 docs/file.omniauth-identity-3.1.3.gem.html delete mode 100644 docs/file.omniauth-identity-3.1.4.gem.html create mode 100644 gemfiles/modular/integration.gemfile create mode 100644 spec/dummies/.keep create mode 100644 spec/integration/README.md create mode 100644 spec/integration/spec_helper.rb diff --git a/.envrc b/.envrc index f699db33..d879e1db 100644 --- a/.envrc +++ b/.envrc @@ -37,8 +37,9 @@ export FLOSS_CFG_FUND_LOGFILE=tmp/log/debug.log # Concurrently developing the rubocop-lts suite? export RUBOCOP_LTS_LOCAL=false -# kettle-dev open collective integration +# OSC Funding is not active for OmniAuth plugins export OPENCOLLECTIVE_HANDLE=false +export FUNDING_ORG=false # .env would override anything in this file, if `dotenv` is uncommented below. # .env is a DOCKER standard, and if we use it, it would be in deployed, or DOCKER, environments, diff --git a/.gitignore b/.gitignore index fc62abc1..3bb10e18 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,12 @@ Appraisal.*.gemfile.lock # Sentinels .floss_funding.*.lock + +# Integration test databases and dummies (Phase 1) +spec/dummies/rails/db/*.sqlite3 +spec/dummies/rails/db/*.sqlite3-* +spec/dummies/rails/log/ +spec/dummies/rails/tmp/ + +# Combustion / Rails internal files +spec/dummies/rails/internal/ diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100755 index b8b740bd..00000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml -# CodeStream ignored files -/codestream.xml -# Ignored default folder with query files -/queries/ - -# Zencoder local files -/zencoder/chats -/zencoder-chat-index.xml -/zencoder-chats-dedicated.xml -# Local project config -*.iml - diff --git a/.idea/GitLink.xml b/.idea/GitLink.xml old mode 100755 new mode 100644 diff --git a/.idea/active-tab-highlighter.xml b/.idea/active-tab-highlighter.xml deleted file mode 100755 index 409aba97..00000000 --- a/.idea/active-tab-highlighter.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml deleted file mode 100644 index 0910bc64..00000000 --- a/.idea/dbnavigator.xml +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/developer-tools.xml b/.idea/developer-tools.xml deleted file mode 100755 index 5421cc50..00000000 --- a/.idea/developer-tools.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/git_toolbox_blame.xml b/.idea/git_toolbox_blame.xml deleted file mode 100755 index 75202252..00000000 --- a/.idea/git_toolbox_blame.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml deleted file mode 100755 index 02b915b8..00000000 --- a/.idea/git_toolbox_prj.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 564cff9c..00000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 9d5eda5f..98f06998 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,15 @@ + + \ No newline at end of file diff --git a/.idea/omniauth-identity.iml b/.idea/omniauth-identity.iml new file mode 100644 index 00000000..a50aaf01 --- /dev/null +++ b/.idea/omniauth-identity.iml @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 00000000..3988221c --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + "lastFilter": { + "state": "OPENED", + "assignee": { + "type": "org.jetbrains.plugins.gitlab.mergerequest.ui.filters.GitLabMergeRequestsFiltersValue.MergeRequestsMemberFilterValue.MergeRequestsAssigneeFilterValue", + "username": "pboling", + "fullname": "Peter Boling" + } + } +} + { + "selectedUrlAndAccountId": { + "first": "git@gitlab.com:omniauth/omniauth-identity.git", + "second": "e48d1869-12e2-4c93-9360-3329de046d71" + } +} + { + "associatedIndex": 0 +} + + + + + + + + + + + + + + + 1762806402941 + + + + + + \ No newline at end of file diff --git a/Appraisals b/Appraisals index d2f696dd..64119120 100644 --- a/Appraisals +++ b/Appraisals @@ -29,12 +29,14 @@ appraise "unlocked_deps" do eval_gemfile "modular/style.gemfile" eval_gemfile "modular/optional.gemfile" eval_gemfile "modular/x_std_libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Test current Rubies against head versions of runtime dependencies appraise "dep-heads" do eval_gemfile "modular/activerecord/vHEAD.gemfile" eval_gemfile "modular/runtime_heads.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.2.2 @@ -44,6 +46,7 @@ appraise "ar-5-2-r2.4" do eval_gemfile "modular/activerecord/r2.4/v5.2.gemfile" eval_gemfile "modular/omniauth/r2/v1.0.gemfile" eval_gemfile "modular/x_std_libs/r2.4/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.2.2 @@ -53,6 +56,7 @@ appraise "ar-5-2-r2" do eval_gemfile "modular/activerecord/r2/v5.2.gemfile" eval_gemfile "modular/omniauth/r2/v1.1.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.5 @@ -62,6 +66,7 @@ appraise "ar-6-0" do eval_gemfile "modular/activerecord/r2/v6.0.gemfile" eval_gemfile "modular/omniauth/r2/v1.2.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.5 @@ -74,6 +79,7 @@ appraise "ar-6-1-r2.6" do eval_gemfile "modular/activerecord/r2/v6.1.gemfile" eval_gemfile "modular/omniauth/r2/v1.3.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -83,6 +89,7 @@ appraise "ar-6-1-r2" do eval_gemfile "modular/activerecord/r2/v6.1.gemfile" eval_gemfile "modular/omniauth/r2/v1.3.gemfile" eval_gemfile "modular/x_std_libs/r2/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.5 @@ -92,6 +99,7 @@ appraise "ar-6-1-r3" do eval_gemfile "modular/activerecord/r3/v6.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -101,6 +109,7 @@ appraise "ar-7-0-r2" do eval_gemfile "modular/activerecord/r2/v7.0.gemfile" eval_gemfile "modular/omniauth/r2/v1.4.gemfile" eval_gemfile "modular/x_std_libs/r2/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -112,6 +121,7 @@ appraise "ar-7-0-r3" do eval_gemfile "modular/activerecord/r3/v7.0.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -121,6 +131,7 @@ appraise "ar-7-1-r2" do eval_gemfile "modular/activerecord/r2/v7.1.gemfile" eval_gemfile "modular/omniauth/r2/v1.5.gemfile" eval_gemfile "modular/x_std_libs/r2/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -132,6 +143,7 @@ appraise "ar-7-1-r3.1" do eval_gemfile "modular/activerecord/r3/v7.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -143,6 +155,7 @@ appraise "ar-7-1-r3" do eval_gemfile "modular/activerecord/r3/v7.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 3.1 @@ -153,6 +166,7 @@ appraise "ar-7-2" do eval_gemfile "modular/activerecord/r3/v7.2.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 3.2 @@ -164,6 +178,7 @@ appraise "ar-8-0" do eval_gemfile "modular/activerecord/r3/v8.0.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.2.2 (due to AR >= 5) @@ -173,9 +188,10 @@ appraise "couch-1.17-r2.4" do gem "couch_potato", "~> 1.17" gem "ostruct", "~> 0.1" # Ruby >= 0, all newer releases of ostruct require Ruby >= 2.5 - eval_gemfile "modular/activerecord/r2/v5.2.gemfile" + eval_gemfile "modular/activerecord/r2.4/v5.2.gemfile" eval_gemfile "modular/omniauth/r2/v1.6.gemfile" eval_gemfile "modular/x_std_libs/r2.4/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.2.2 (due to AR >= 5) @@ -189,6 +205,7 @@ appraise "couch-1.17-r2.5" do eval_gemfile "modular/activerecord/r2/v6.0.gemfile" eval_gemfile "modular/omniauth/r2/v1.7.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.2.2 (due to AR >= 5) @@ -203,6 +220,7 @@ appraise "couch-1.17-r2.6" do eval_gemfile "modular/activerecord/r2/v6.1.gemfile" eval_gemfile "modular/omniauth/r2/v1.7.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.2.2 (due to AR >= 5) @@ -216,6 +234,7 @@ appraise "couch-1.17-r2.7" do eval_gemfile "modular/activerecord/r2/v6.1.gemfile" eval_gemfile "modular/omniauth/r2/v1.7.gemfile" eval_gemfile "modular/x_std_libs/r2/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.2.2 (due to AR >= 5) @@ -230,6 +249,7 @@ appraise "couch-1.17-r3.1" do eval_gemfile "modular/activerecord/r3/v7.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.2.2 (due to AR >= 5) @@ -244,6 +264,7 @@ appraise "couch-1.17-r3" do eval_gemfile "modular/activerecord/r3/v7.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.3 @@ -257,6 +278,7 @@ appraise "mongoid-7.3-b4.12" do eval_gemfile "modular/activerecord/r2.4/v5.2.gemfile" eval_gemfile "modular/omniauth/r2/v1.8.gemfile" eval_gemfile "modular/x_std_libs/r2.4/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.3 @@ -270,6 +292,7 @@ appraise "mongoid-7.3-b4.15" do eval_gemfile "modular/activerecord/r2/v6.1.gemfile" eval_gemfile "modular/omniauth/r2/v1.9.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.5 @@ -285,6 +308,7 @@ appraise "mongoid-7.4-b4.15" do eval_gemfile "modular/activerecord/r2/v6.1.gemfile" eval_gemfile "modular/omniauth/r2/v2.0.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.6 (because of bson v5) @@ -298,6 +322,7 @@ appraise "mongoid-7.4-b5" do eval_gemfile "modular/activerecord/r2/v6.1.gemfile" eval_gemfile "modular/omniauth/r2/v2.0.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.6 @@ -311,6 +336,7 @@ appraise "mongoid-8.1-r2.6" do eval_gemfile "modular/activerecord/r2/v6.1.gemfile" eval_gemfile "modular/omniauth/r2/v2.0.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -324,6 +350,7 @@ appraise "mongoid-8.1-r2" do eval_gemfile "modular/activerecord/r2/v6.1.gemfile" eval_gemfile "modular/omniauth/r2/v2.0.gemfile" eval_gemfile "modular/x_std_libs/r2/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.6 @@ -338,6 +365,7 @@ appraise "mongoid-8.1-r3.1" do eval_gemfile "modular/activerecord/r3/v7.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.6 @@ -353,6 +381,7 @@ appraise "mongoid-8.1-r3" do eval_gemfile "modular/activerecord/r3/v7.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -367,6 +396,7 @@ appraise "mongoid-9.0-r2-omni1.9" do eval_gemfile "modular/omniauth/r2/v1.9.gemfile" eval_gemfile "modular/x_std_libs/r2/libs.gemfile" gem "ostruct", "~> 0.6", ">= 0.6.1" # Ruby >= 2.5 + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -381,6 +411,7 @@ appraise "mongoid-9.0-r2-omni2.0" do eval_gemfile "modular/omniauth/r2/v2.0.gemfile" eval_gemfile "modular/x_std_libs/r2/libs.gemfile" gem "ostruct", "~> 0.6", ">= 0.6.1" # Ruby >= 2.5 + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -395,6 +426,7 @@ appraise "mongoid-9.0-r2-omni2.1" do eval_gemfile "modular/omniauth/r2/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r2/libs.gemfile" gem "ostruct", "~> 0.6", ">= 0.6.1" # Ruby >= 2.5 + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -410,6 +442,7 @@ appraise "mongoid-9.0-r3.1" do eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile" gem "ostruct", "~> 0.6", ">= 0.6.1" # Ruby >= 2.5 + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 2.7 @@ -426,6 +459,7 @@ appraise "mongoid-9.0-r3" do eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3/libs.gemfile" gem "ostruct", "~> 0.6", ">= 0.6.1" # Ruby >= 2.5 + eval_gemfile "modular/integration.gemfile" end # 1. While the Ruby driver, nobrainer, is maintained, @@ -466,6 +500,7 @@ appraise "rom-r3.1" do eval_gemfile "modular/activerecord/r3/v7.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 3.1.0 @@ -480,6 +515,7 @@ appraise "rom-r3" do eval_gemfile "modular/activerecord/r3/v7.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 1.9.2 @@ -490,6 +526,7 @@ appraise "sequel-5.86-r2.4" do eval_gemfile "modular/activerecord/r2.4/v5.2.gemfile" eval_gemfile "modular/omniauth/r2/v2.0.gemfile" eval_gemfile "modular/x_std_libs/r2.4/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 1.9.2 @@ -500,6 +537,7 @@ appraise "sequel-5.86-r2.5" do eval_gemfile "modular/activerecord/r2/v6.0.gemfile" eval_gemfile "modular/omniauth/r2/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 1.9.2 @@ -510,6 +548,7 @@ appraise "sequel-5.86-r2.6" do eval_gemfile "modular/activerecord/r2/v6.1.gemfile" eval_gemfile "modular/omniauth/r2/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r2.6/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 1.9.2 @@ -520,6 +559,7 @@ appraise "sequel-5.86-r2.7" do eval_gemfile "modular/activerecord/r2/v7.1.gemfile" eval_gemfile "modular/omniauth/r2/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r2/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 1.9.2 @@ -531,6 +571,7 @@ appraise "sequel-5.86-r3.1" do eval_gemfile "modular/activerecord/r3/v7.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Compat: Ruby >= 1.9.2 @@ -544,6 +585,7 @@ appraise "sequel-5.86-r3" do eval_gemfile "modular/activerecord/r3/v7.1.gemfile" eval_gemfile "modular/omniauth/r3/v2.1.gemfile" eval_gemfile "modular/x_std_libs/r3/libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Only run security audit on the latest version of Ruby @@ -566,6 +608,7 @@ appraise "coverage" do gem "ostruct", "~> 0.6", ">= 0.6.1" # Ruby >= 2.5 eval_gemfile "modular/optional.gemfile" eval_gemfile "modular/x_std_libs.gemfile" + eval_gemfile "modular/integration.gemfile" end # Only run linter on the latest version of Ruby (but, in support of oldest supported Ruby version) diff --git a/Gemfile b/Gemfile index 3dbecf2d..00505caa 100644 --- a/Gemfile +++ b/Gemfile @@ -27,6 +27,9 @@ eval_gemfile "gemfiles/modular/documentation.gemfile" # Optional eval_gemfile "gemfiles/modular/optional.gemfile" +# Integration Testing +eval_gemfile "gemfiles/modular/integration.gemfile" + ### Std Lib Extracted Gems eval_gemfile "gemfiles/modular/x_std_libs.gemfile" diff --git a/Gemfile.lock b/Gemfile.lock index b56c67b1..b02cab4b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -22,6 +22,23 @@ PATH GEM remote: https://gem.coop/ specs: + actionpack (7.2.2.2) + actionview (= 7.2.2.2) + activesupport (= 7.2.2.2) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4, < 3.2) + rack-session (>= 1.0.1) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + actionview (7.2.2.2) + activesupport (= 7.2.2.2) + builder (~> 3.1) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) activemodel (7.2.2.2) activesupport (= 7.2.2.2) activerecord (7.2.2.2) @@ -58,10 +75,15 @@ GEM benchmark (0.4.1) bigdecimal (3.3.1) bson (5.2.0) + builder (3.3.0) bundler-audit (0.9.2) bundler (>= 1.2.0, < 3) thor (~> 1.0) coderay (1.1.3) + combustion (1.5.0) + activesupport (>= 3.0.0) + railties (>= 3.0.0) + thor (>= 0.14.6) concurrent-ruby (1.3.5) connection_pool (2.5.4) couch_potato (1.19.2) @@ -72,6 +94,8 @@ GEM httpclient (~> 2.8) mime-types (>= 1.15) multi_json (~> 1.7) + crass (1.0.6) + csv (3.3.5) date (3.4.1) debug (1.11.0) irb (~> 1.10) @@ -81,6 +105,10 @@ GEM diffy (3.4.4) docile (1.4.1) drb (2.2.3) + dry-auto_inject (1.1.0) + dry-core (~> 1.1) + zeitwerk (~> 2.6) + dry-cli (1.3.0) dry-configurable (1.3.0) dry-core (~> 1.1) zeitwerk (~> 2.6) @@ -88,13 +116,22 @@ GEM concurrent-ruby (~> 1.0) logger zeitwerk (~> 2.6) + dry-events (1.1.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.1) + dry-files (1.1.0) dry-inflector (1.2.0) dry-initializer (3.2.0) + dry-logger (1.1.0) dry-logic (1.6.0) bigdecimal concurrent-ruby (~> 1.0) dry-core (~> 1.1) zeitwerk (~> 2.6) + dry-monitor (1.0.1) + dry-configurable (~> 1.0, < 2) + dry-core (~> 1.0, < 2) + dry-events (~> 1.0, < 2) dry-schema (1.14.1) concurrent-ruby (~> 1.0) dry-configurable (~> 1.0, >= 1.0.1) @@ -108,6 +145,13 @@ GEM dry-types (~> 1.8, >= 1.8.2) ice_nine (~> 0.11) zeitwerk (~> 2.6) + dry-system (1.2.4) + dry-auto_inject (~> 1.1) + dry-configurable (~> 1.3) + dry-core (~> 1.1) + dry-inflector (~> 1.1) + dry-transformer (1.0.1) + zeitwerk (~> 2.6) dry-types (1.8.3) bigdecimal (~> 3.0) concurrent-ruby (~> 1.0) @@ -116,6 +160,7 @@ GEM dry-logic (~> 1.4) zeitwerk (~> 2.6) erb (5.1.1) + erubi (1.13.1) ffi (1.17.2-aarch64-linux-gnu) ffi (1.17.2-aarch64-linux-musl) ffi (1.17.2-arm-linux-gnu) @@ -154,6 +199,35 @@ GEM guard (~> 2.1) guard-compat (~> 1.1) rspec (>= 2.99.0, < 4.0) + hanami (2.2.1) + bundler (>= 1.16, < 3) + dry-configurable (~> 1.0, >= 1.2.0, < 2) + dry-core (~> 1.0, < 2) + dry-inflector (~> 1.0, >= 1.1.0, < 2) + dry-logger (~> 1.0, < 2) + dry-monitor (~> 1.0, >= 1.0.1, < 2) + dry-system (~> 1.1) + hanami-cli (~> 2.2.1) + hanami-utils (~> 2.2) + json (>= 2.7.2) + zeitwerk (~> 2.6) + hanami-cli (2.2.1) + bundler (~> 2.1) + dry-cli (~> 1.0, >= 1.1.0) + dry-files (~> 1.0, >= 1.0.2, < 2) + dry-inflector (~> 1.0, < 2) + rake (~> 13.0) + zeitwerk (~> 2.6) + hanami-router (2.3.0.beta2) + csv (~> 3.3) + mustermann (~> 3.0) + mustermann-contrib (~> 3.0) + rack (>= 2.0) + hanami-utils (2.2.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0, < 2) + dry-transformer (~> 1.0, < 2) + hansi (0.2.1) hashie (5.0.0) httpclient (2.9.0) mutex_m @@ -197,6 +271,9 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) + loofah (2.24.1) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) lumberjack (1.4.2) method_source (1.1.0) middleware (0.1.0) @@ -220,6 +297,11 @@ GEM mongoid (>= 3.0, < 10.0) mongoid-compatibility (>= 0.5.1) multi_json (1.17.0) + mustermann (3.0.4) + ruby2_keywords (~> 0.0.1) + mustermann-contrib (3.0.4) + hansi (~> 0.2.0) + mustermann (= 3.0.4) mutex_m (0.3.0) nenv (0.3.0) nobrainer (0.44.1) @@ -273,12 +355,33 @@ GEM stringio public_suffix (6.0.2) racc (1.8.1) - rack (2.2.20) - rack-protection (3.2.0) + rack (3.1.18) + rack-protection (4.2.1) base64 (>= 0.1.0) - rack (~> 2.2, >= 2.2.4) - rack-test (1.1.0) - rack (>= 1.0, < 3) + logger (>= 1.6.0) + rack (>= 3.0.0, < 4) + rack-session (2.1.1) + base64 (>= 0.1.0) + rack (>= 3.0.0) + rack-test (2.2.0) + rack (>= 1.3) + rackup (2.2.1) + rack (>= 3) + rails-dom-testing (2.3.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.6.2) + loofah (~> 2.21) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + railties (7.2.2.2) + actionpack (= 7.2.2.2) + activesupport (= 7.2.2.2) + irb (~> 1.13) + rackup (>= 1.0.0) + rake (>= 12.2) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.3.0) rb-fsevent (0.11.2) @@ -303,6 +406,8 @@ GEM version_gem (>= 1.1.3, < 4) rethinkdb (2.4.0.0) rexml (3.4.4) + roda (3.97.0) + rack rom (5.4.2) rom-changeset (~> 5.4) rom-core (~> 5.4) @@ -329,7 +434,7 @@ GEM dry-types (~> 1.8) rom (~> 5.4) sequel (>= 4.49) - rspec (3.13.1) + rspec (3.13.2) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) @@ -413,6 +518,7 @@ GEM rubocop (~> 1.72, >= 1.72.1) rubocop-ast (>= 1.44.0, < 2.0) ruby-progressbar (1.13.0) + ruby2_keywords (0.0.5) ruby_engine (2.0.3) ruby_version (1.0.3) securerandom (0.4.1) @@ -438,6 +544,19 @@ GEM simplecov-rcov (0.3.7) simplecov (>= 0.4.1) simplecov_json_formatter (0.1.4) + sinatra (4.2.1) + logger (>= 1.6.0) + mustermann (~> 3.0) + rack (>= 3.0.0, < 4) + rack-protection (= 4.2.1) + rack-session (>= 2.0.0, < 3) + tilt (~> 2.0) + sinatra-contrib (4.2.1) + multi_json (>= 0.0.2) + mustermann (~> 3.0) + rack-protection (= 4.2.1) + sinatra (= 4.2.1) + tilt (~> 2.0) sqlite3 (2.7.4-aarch64-linux-gnu) sqlite3 (2.7.4-aarch64-linux-musl) sqlite3 (2.7.4-arm-linux-gnu) @@ -475,6 +594,7 @@ GEM test-unit (3.7.0) power_assert thor (1.4.0) + tilt (2.6.1) timecop (0.9.10) timecop-rspec (1.0.3) delegate (~> 0.1) @@ -488,6 +608,7 @@ GEM unicode-display_width (3.2.0) unicode-emoji (~> 4.1) unicode-emoji (4.1.0) + useragent (0.16.11) version_gem (1.1.9) yard (0.9.37) yard-relative_markdown_links (0.5.0) @@ -518,6 +639,7 @@ DEPENDENCIES appraisal2 (~> 3.0) benchmark (~> 0.4, >= 0.4.1) bundler-audit (~> 0.9.2) + combustion (~> 1.5) couch_potato (~> 1.17) debug (>= 1.1) erb (~> 5.0) @@ -527,6 +649,8 @@ DEPENDENCIES guard guard-bundler guard-rspec + hanami (~> 2.2) + hanami-router (~> 2.2) irb (~> 1.15, >= 1.15.2) kettle-dev (~> 1.1) kettle-soup-cover (~> 1.0, >= 1.0.10) @@ -539,12 +663,13 @@ DEPENDENCIES mutex_m (~> 0.2) nobrainer (~> 0.44) omniauth-identity! - rack-test (~> 1) + rack-test (~> 2.2, ~> 2.1) rake (~> 13.0) rb-fsevent rdoc (~> 6.11) reek (~> 6.5) require_bench (~> 1.0, >= 1.0.4) + roda (~> 3.85) rom-sql (~> 3.7) rspec-pending_for (~> 0.0, >= 0.0.17) rubocop (~> 1.73, >= 1.73.2) @@ -556,6 +681,8 @@ DEPENDENCIES rubocop-sequel ruby-progressbar (~> 1.13) sequel (~> 5.86) + sinatra (~> 4.0) + sinatra-contrib (~> 4.0) sqlite3 (>= 1) standard (>= 1.50) stone_checksums (~> 1.0, >= 1.0.2) diff --git a/docs/file.omniauth-identity-3.1.0.gem.html b/docs/file.omniauth-identity-3.1.0.gem.html deleted file mode 100644 index 175c5dfa..00000000 --- a/docs/file.omniauth-identity-3.1.0.gem.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - File: omniauth-identity-3.1.0.gem - - — Documentation by YARD 0.9.37 - - - - - - - - - - - - - - - - - - - -
- - -

b35c6230931b5773cc62d26170ec0b41a152edf1317f749df00ab579c7ec0b831173dbe236208aef2841878a3efa6d77265a2c132c7c7136370a14dbc695f456

-
- - - -
- - \ No newline at end of file diff --git a/docs/file.omniauth-identity-3.1.1.gem.html b/docs/file.omniauth-identity-3.1.1.gem.html deleted file mode 100644 index 383750fb..00000000 --- a/docs/file.omniauth-identity-3.1.1.gem.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - File: omniauth-identity-3.1.1.gem - - — Documentation by YARD 0.9.37 - - - - - - - - - - - - - - - - - - - -
- - -

7ff8385d8355b8c7744fabb5b91067b9fe45e3ca10ca507b5dd6b27f03e2c9ecac2cceacf9707a1a41553e5d6df7544fe8680356134223b06732f2003c0cec77

-
- - - -
- - \ No newline at end of file diff --git a/docs/file.omniauth-identity-3.1.2.gem.html b/docs/file.omniauth-identity-3.1.2.gem.html deleted file mode 100644 index 39736ddc..00000000 --- a/docs/file.omniauth-identity-3.1.2.gem.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - File: omniauth-identity-3.1.2.gem - - — Documentation by YARD 0.9.37 - - - - - - - - - - - - - - - - - - - -
- - -

30bdf3083a2b43ff6335d5a7deb475feef98ac3a0fcdbcc0648fb98f2900aa484fb8c2056267f11df335459f114934800d2147b4e3840eb06f7c97fb045f1ad0

-
- - - -
- - \ No newline at end of file diff --git a/docs/file.omniauth-identity-3.1.3.gem.html b/docs/file.omniauth-identity-3.1.3.gem.html deleted file mode 100644 index 580fa6a7..00000000 --- a/docs/file.omniauth-identity-3.1.3.gem.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - File: omniauth-identity-3.1.3.gem - - — Documentation by YARD 0.9.37 - - - - - - - - - - - - - - - - - - - -
- - -

08bec76d6dd2a6e8b5e43af814926d4d1c624cedb5dc85f93fbf80adfd47e5f4909bbda9a813aa24a04c7855f7d0a71904cef30c5265f5ca1f0a3e10e31b6a9c

-
- - - -
- - \ No newline at end of file diff --git a/docs/file.omniauth-identity-3.1.4.gem.html b/docs/file.omniauth-identity-3.1.4.gem.html deleted file mode 100644 index 2e3e5856..00000000 --- a/docs/file.omniauth-identity-3.1.4.gem.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - File: omniauth-identity-3.1.4.gem - - — Documentation by YARD 0.9.37 - - - - - - - - - - - - - - - - - - - -
- - -

14f742d9b947ccdd6191d6b230f106b481d5a9a2dad682edc00bee39622115252026d608ccfe5a79d36b0a7383b7e2362622cfeb251061e56664054ff531e95e

-
- - - -
- - \ No newline at end of file diff --git a/gemfiles/ar_5_2_r2.4.gemfile b/gemfiles/ar_5_2_r2.4.gemfile index 2b5e577a..86d17340 100644 --- a/gemfiles/ar_5_2_r2.4.gemfile +++ b/gemfiles/ar_5_2_r2.4.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2.4/v5.2.gemfile") eval_gemfile("modular/omniauth/r2/v1.0.gemfile") eval_gemfile("modular/x_std_libs/r2.4/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_5_2_r2.gemfile b/gemfiles/ar_5_2_r2.gemfile index a434cc65..882da96d 100644 --- a/gemfiles/ar_5_2_r2.gemfile +++ b/gemfiles/ar_5_2_r2.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v5.2.gemfile") eval_gemfile("modular/omniauth/r2/v1.1.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_6_0.gemfile b/gemfiles/ar_6_0.gemfile index 0ae92af6..83e7525c 100644 --- a/gemfiles/ar_6_0.gemfile +++ b/gemfiles/ar_6_0.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v6.0.gemfile") eval_gemfile("modular/omniauth/r2/v1.2.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_6_1_r2.6.gemfile b/gemfiles/ar_6_1_r2.6.gemfile index 6c40c669..36e6ed98 100644 --- a/gemfiles/ar_6_1_r2.6.gemfile +++ b/gemfiles/ar_6_1_r2.6.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v6.1.gemfile") eval_gemfile("modular/omniauth/r2/v1.3.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_6_1_r2.gemfile b/gemfiles/ar_6_1_r2.gemfile index a6751716..652c0353 100644 --- a/gemfiles/ar_6_1_r2.gemfile +++ b/gemfiles/ar_6_1_r2.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v6.1.gemfile") eval_gemfile("modular/omniauth/r2/v1.3.gemfile") eval_gemfile("modular/x_std_libs/r2/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_6_1_r3.gemfile b/gemfiles/ar_6_1_r3.gemfile index daeee5d2..b92bdf0c 100644 --- a/gemfiles/ar_6_1_r3.gemfile +++ b/gemfiles/ar_6_1_r3.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v6.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3.1/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_7_0_r2.gemfile b/gemfiles/ar_7_0_r2.gemfile index 7d5171ec..0f484ba5 100644 --- a/gemfiles/ar_7_0_r2.gemfile +++ b/gemfiles/ar_7_0_r2.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v7.0.gemfile") eval_gemfile("modular/omniauth/r2/v1.4.gemfile") eval_gemfile("modular/x_std_libs/r2/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_7_0_r3.gemfile b/gemfiles/ar_7_0_r3.gemfile index aa7d8059..bac84f6a 100644 --- a/gemfiles/ar_7_0_r3.gemfile +++ b/gemfiles/ar_7_0_r3.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v7.0.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3.1/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_7_1_r2.gemfile b/gemfiles/ar_7_1_r2.gemfile index 1a87a502..67074892 100644 --- a/gemfiles/ar_7_1_r2.gemfile +++ b/gemfiles/ar_7_1_r2.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v7.1.gemfile") eval_gemfile("modular/omniauth/r2/v1.5.gemfile") eval_gemfile("modular/x_std_libs/r2/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_7_1_r3.1.gemfile b/gemfiles/ar_7_1_r3.1.gemfile index d6288f3c..efb4ddc1 100644 --- a/gemfiles/ar_7_1_r3.1.gemfile +++ b/gemfiles/ar_7_1_r3.1.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3.1/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_7_1_r3.gemfile b/gemfiles/ar_7_1_r3.gemfile index 8a18f4f5..15b7e6a2 100644 --- a/gemfiles/ar_7_1_r3.gemfile +++ b/gemfiles/ar_7_1_r3.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_7_2.gemfile b/gemfiles/ar_7_2.gemfile index f1913a5c..f81414e1 100644 --- a/gemfiles/ar_7_2.gemfile +++ b/gemfiles/ar_7_2.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v7.2.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/ar_8_0.gemfile b/gemfiles/ar_8_0.gemfile index 8a0a43ac..b56c38a0 100644 --- a/gemfiles/ar_8_0.gemfile +++ b/gemfiles/ar_8_0.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v8.0.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/audit.gemfile b/gemfiles/audit.gemfile index 36e153e7..2a13ac9e 100644 --- a/gemfiles/audit.gemfile +++ b/gemfiles/audit.gemfile @@ -2,7 +2,7 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/omniauth/r3/v2.1.gemfile") diff --git a/gemfiles/couch_1.17_r2.4.gemfile b/gemfiles/couch_1.17_r2.4.gemfile index 7bb688e6..243f836a 100644 --- a/gemfiles/couch_1.17_r2.4.gemfile +++ b/gemfiles/couch_1.17_r2.4.gemfile @@ -5,10 +5,12 @@ source "https://gem.coop" gem "couch_potato", "~> 1.17" gem "ostruct", "~> 0.1" -gemspec path: "../" +gemspec :path => "../" -eval_gemfile("modular/activerecord/r2/v5.2.gemfile") +eval_gemfile("modular/activerecord/r2.4/v5.2.gemfile") eval_gemfile("modular/omniauth/r2/v1.6.gemfile") eval_gemfile("modular/x_std_libs/r2.4/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/couch_1.17_r2.5.gemfile b/gemfiles/couch_1.17_r2.5.gemfile index 757254ac..a5022784 100644 --- a/gemfiles/couch_1.17_r2.5.gemfile +++ b/gemfiles/couch_1.17_r2.5.gemfile @@ -5,10 +5,12 @@ source "https://gem.coop" gem "couch_potato", "~> 1.17" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v6.0.gemfile") eval_gemfile("modular/omniauth/r2/v1.7.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/couch_1.17_r2.6.gemfile b/gemfiles/couch_1.17_r2.6.gemfile index 33090789..4fd7d119 100644 --- a/gemfiles/couch_1.17_r2.6.gemfile +++ b/gemfiles/couch_1.17_r2.6.gemfile @@ -5,10 +5,12 @@ source "https://gem.coop" gem "couch_potato", "~> 1.17" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v6.1.gemfile") eval_gemfile("modular/omniauth/r2/v1.7.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/couch_1.17_r2.7.gemfile b/gemfiles/couch_1.17_r2.7.gemfile index 97174631..f1e3f21b 100644 --- a/gemfiles/couch_1.17_r2.7.gemfile +++ b/gemfiles/couch_1.17_r2.7.gemfile @@ -5,10 +5,12 @@ source "https://gem.coop" gem "couch_potato", "~> 1.17" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v6.1.gemfile") eval_gemfile("modular/omniauth/r2/v1.7.gemfile") eval_gemfile("modular/x_std_libs/r2/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/couch_1.17_r3.1.gemfile b/gemfiles/couch_1.17_r3.1.gemfile index 28595068..d99bce6e 100644 --- a/gemfiles/couch_1.17_r3.1.gemfile +++ b/gemfiles/couch_1.17_r3.1.gemfile @@ -5,10 +5,12 @@ source "https://gem.coop" gem "couch_potato", "~> 1.17" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3.1/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/couch_1.17_r3.gemfile b/gemfiles/couch_1.17_r3.gemfile index 833919c5..1c315005 100644 --- a/gemfiles/couch_1.17_r3.gemfile +++ b/gemfiles/couch_1.17_r3.gemfile @@ -5,10 +5,12 @@ source "https://gem.coop" gem "couch_potato", "~> 1.17" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/coverage.gemfile b/gemfiles/coverage.gemfile index 1b75321d..2a2e4340 100644 --- a/gemfiles/coverage.gemfile +++ b/gemfiles/coverage.gemfile @@ -9,7 +9,7 @@ gem "mongoid", "~> 9.0", ">= 9.0.3" gem "mongoid-rspec", "~> 4.2" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v8.0.gemfile") @@ -22,3 +22,5 @@ eval_gemfile("modular/coverage.gemfile") eval_gemfile("modular/optional.gemfile") eval_gemfile("modular/x_std_libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/dep_heads.gemfile b/gemfiles/dep_heads.gemfile index ec659b7f..ed79c54c 100644 --- a/gemfiles/dep_heads.gemfile +++ b/gemfiles/dep_heads.gemfile @@ -2,8 +2,10 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/vHEAD.gemfile") eval_gemfile("modular/runtime_heads.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/modular/integration.gemfile b/gemfiles/modular/integration.gemfile new file mode 100644 index 00000000..2623c06a --- /dev/null +++ b/gemfiles/modular/integration.gemfile @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +# Web Frameworks for Integration Testing +# All marked as require: false to allow selective loading in tests + +# Sinatra - Minimal web framework +# Compatible with Ruby 2.4+ (Sinatra 3.x), Ruby 2.6+ (Sinatra 4.x) +# We'll use version constraints in appraisals if needed +gem "sinatra", "~> 4.0", require: false +gem "sinatra-contrib", "~> 4.0", require: false + +# Roda - Fast, simple routing tree web framework +# Compatible with Ruby 1.9+, but we'll test on Ruby 3.1+ due to ROM requirements +gem "roda", "~> 3.85", require: false + +# Hanami - Full-featured web framework +# Hanami 2.x requires Ruby 3.1+ +gem "hanami", "~> 2.2", require: false +gem "hanami-router", "~> 2.2", require: false + +# Rails via Combustion - Minimal Rails app setup for testing +# Combustion allows us to test against multiple Rails versions +gem "combustion", "~> 1.5", require: false + +# Testing utilities +gem "rack-test", "~> 2.1" + diff --git a/gemfiles/mongoid_7.3_b4.12.gemfile b/gemfiles/mongoid_7.3_b4.12.gemfile index 6fd5f2ba..db6f2e6b 100644 --- a/gemfiles/mongoid_7.3_b4.12.gemfile +++ b/gemfiles/mongoid_7.3_b4.12.gemfile @@ -5,7 +5,7 @@ source "https://gem.coop" gem "mongoid", "~> 7.3", ">= 7.3.5" gem "mongoid-rspec", "~> 4.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r2.4/v4.12.gemfile") @@ -14,3 +14,5 @@ eval_gemfile("modular/activerecord/r2.4/v5.2.gemfile") eval_gemfile("modular/omniauth/r2/v1.8.gemfile") eval_gemfile("modular/x_std_libs/r2.4/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_7.3_b4.15.gemfile b/gemfiles/mongoid_7.3_b4.15.gemfile index 636ecf56..61598865 100644 --- a/gemfiles/mongoid_7.3_b4.15.gemfile +++ b/gemfiles/mongoid_7.3_b4.15.gemfile @@ -5,7 +5,7 @@ source "https://gem.coop" gem "mongoid", "~> 7.3", ">= 7.3.5" gem "mongoid-rspec", "~> 4.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r2/v4.15.gemfile") @@ -14,3 +14,5 @@ eval_gemfile("modular/activerecord/r2/v6.1.gemfile") eval_gemfile("modular/omniauth/r2/v1.9.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_7.4_b4.15.gemfile b/gemfiles/mongoid_7.4_b4.15.gemfile index 3cc25a39..fdd5f4a9 100644 --- a/gemfiles/mongoid_7.4_b4.15.gemfile +++ b/gemfiles/mongoid_7.4_b4.15.gemfile @@ -5,7 +5,7 @@ source "https://gem.coop" gem "mongoid", "~> 7.4", ">= 7.4.3" gem "mongoid-rspec", "~> 4.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r2/v4.15.gemfile") @@ -14,3 +14,5 @@ eval_gemfile("modular/activerecord/r2/v6.1.gemfile") eval_gemfile("modular/omniauth/r2/v2.0.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_7.4_b5.gemfile b/gemfiles/mongoid_7.4_b5.gemfile index ea6ba312..0d7fc7c2 100644 --- a/gemfiles/mongoid_7.4_b5.gemfile +++ b/gemfiles/mongoid_7.4_b5.gemfile @@ -5,7 +5,7 @@ source "https://gem.coop" gem "mongoid", "~> 7.4", ">= 7.4.3" gem "mongoid-rspec", "~> 4.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r2/v5.0.gemfile") @@ -14,3 +14,5 @@ eval_gemfile("modular/activerecord/r2/v6.1.gemfile") eval_gemfile("modular/omniauth/r2/v2.0.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_8.1_r2.6.gemfile b/gemfiles/mongoid_8.1_r2.6.gemfile index 3d9a0150..32c41948 100644 --- a/gemfiles/mongoid_8.1_r2.6.gemfile +++ b/gemfiles/mongoid_8.1_r2.6.gemfile @@ -5,7 +5,7 @@ source "https://gem.coop" gem "mongoid", "~> 8.1", ">= 8.1.7" gem "mongoid-rspec", "~> 4.2" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r2/v5.0.gemfile") @@ -14,3 +14,5 @@ eval_gemfile("modular/activerecord/r2/v6.1.gemfile") eval_gemfile("modular/omniauth/r2/v2.0.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_8.1_r2.gemfile b/gemfiles/mongoid_8.1_r2.gemfile index ea7f55fe..5944ad32 100644 --- a/gemfiles/mongoid_8.1_r2.gemfile +++ b/gemfiles/mongoid_8.1_r2.gemfile @@ -5,7 +5,7 @@ source "https://gem.coop" gem "mongoid", "~> 8.1", ">= 8.1.7" gem "mongoid-rspec", "~> 4.2" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r2/v5.0.gemfile") @@ -14,3 +14,5 @@ eval_gemfile("modular/activerecord/r2/v6.1.gemfile") eval_gemfile("modular/omniauth/r2/v2.0.gemfile") eval_gemfile("modular/x_std_libs/r2/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_8.1_r3.1.gemfile b/gemfiles/mongoid_8.1_r3.1.gemfile index 8a501b46..5471e0c2 100644 --- a/gemfiles/mongoid_8.1_r3.1.gemfile +++ b/gemfiles/mongoid_8.1_r3.1.gemfile @@ -5,7 +5,7 @@ source "https://gem.coop" gem "mongoid", "~> 8.1", ">= 8.1.7" gem "mongoid-rspec", "~> 4.2" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r3/v5.1.gemfile") @@ -14,3 +14,5 @@ eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3.1/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_8.1_r3.gemfile b/gemfiles/mongoid_8.1_r3.gemfile index 4928c266..be361d07 100644 --- a/gemfiles/mongoid_8.1_r3.gemfile +++ b/gemfiles/mongoid_8.1_r3.gemfile @@ -5,7 +5,7 @@ source "https://gem.coop" gem "mongoid", "~> 8.1", ">= 8.1.7" gem "mongoid-rspec", "~> 4.2" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r3/v5.1.gemfile") @@ -14,3 +14,5 @@ eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_9.0_r2_omni1.9.gemfile b/gemfiles/mongoid_9.0_r2_omni1.9.gemfile index c7c9d892..bafefb06 100644 --- a/gemfiles/mongoid_9.0_r2_omni1.9.gemfile +++ b/gemfiles/mongoid_9.0_r2_omni1.9.gemfile @@ -6,7 +6,7 @@ gem "mongoid", "~> 9.0", ">= 9.0.3" gem "mongoid-rspec", "~> 4.2" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r2/v5.0.gemfile") @@ -15,3 +15,5 @@ eval_gemfile("modular/activerecord/r2/v7.1.gemfile") eval_gemfile("modular/omniauth/r2/v1.9.gemfile") eval_gemfile("modular/x_std_libs/r2/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_9.0_r2_omni2.0.gemfile b/gemfiles/mongoid_9.0_r2_omni2.0.gemfile index e1d7bd30..09d9053d 100644 --- a/gemfiles/mongoid_9.0_r2_omni2.0.gemfile +++ b/gemfiles/mongoid_9.0_r2_omni2.0.gemfile @@ -6,7 +6,7 @@ gem "mongoid", "~> 9.0", ">= 9.0.3" gem "mongoid-rspec", "~> 4.2" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r2/v5.0.gemfile") @@ -15,3 +15,5 @@ eval_gemfile("modular/activerecord/r2/v7.1.gemfile") eval_gemfile("modular/omniauth/r2/v2.0.gemfile") eval_gemfile("modular/x_std_libs/r2/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_9.0_r2_omni2.1.gemfile b/gemfiles/mongoid_9.0_r2_omni2.1.gemfile index 9dd095aa..9674df5e 100644 --- a/gemfiles/mongoid_9.0_r2_omni2.1.gemfile +++ b/gemfiles/mongoid_9.0_r2_omni2.1.gemfile @@ -6,7 +6,7 @@ gem "mongoid", "~> 9.0", ">= 9.0.3" gem "mongoid-rspec", "~> 4.2" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r2/v5.0.gemfile") @@ -15,3 +15,5 @@ eval_gemfile("modular/activerecord/r2/v7.1.gemfile") eval_gemfile("modular/omniauth/r2/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r2/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_9.0_r3.1.gemfile b/gemfiles/mongoid_9.0_r3.1.gemfile index 048804d1..8b9d1af2 100644 --- a/gemfiles/mongoid_9.0_r3.1.gemfile +++ b/gemfiles/mongoid_9.0_r3.1.gemfile @@ -6,7 +6,7 @@ gem "mongoid", "~> 9.0", ">= 9.0.3" gem "mongoid-rspec", "~> 4.2" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r3/v5.1.gemfile") @@ -15,3 +15,5 @@ eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3.1/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/mongoid_9.0_r3.gemfile b/gemfiles/mongoid_9.0_r3.gemfile index 057005f1..86e72f3b 100644 --- a/gemfiles/mongoid_9.0_r3.gemfile +++ b/gemfiles/mongoid_9.0_r3.gemfile @@ -6,7 +6,7 @@ gem "mongoid", "~> 9.0", ">= 9.0.3" gem "mongoid-rspec", "~> 4.2" gem "ostruct", "~> 0.6", ">= 0.6.1" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/bson/r3/v5.1.gemfile") @@ -15,3 +15,5 @@ eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/rom_r3.1.gemfile b/gemfiles/rom_r3.1.gemfile index 4166d51d..feba38d9 100644 --- a/gemfiles/rom_r3.1.gemfile +++ b/gemfiles/rom_r3.1.gemfile @@ -4,10 +4,12 @@ source "https://gem.coop" gem "rom-sql", "~> 3.7" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3.1/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/rom_r3.gemfile b/gemfiles/rom_r3.gemfile index 0def55f6..a03779e0 100644 --- a/gemfiles/rom_r3.gemfile +++ b/gemfiles/rom_r3.gemfile @@ -4,10 +4,12 @@ source "https://gem.coop" gem "rom-sql", "~> 3.7" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/sequel_5.86_r2.4.gemfile b/gemfiles/sequel_5.86_r2.4.gemfile index e5c5e911..61c7f909 100644 --- a/gemfiles/sequel_5.86_r2.4.gemfile +++ b/gemfiles/sequel_5.86_r2.4.gemfile @@ -4,10 +4,12 @@ source "https://gem.coop" gem "sequel", "~> 5.86", ">= 5.86.0" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2.4/v5.2.gemfile") eval_gemfile("modular/omniauth/r2/v2.0.gemfile") eval_gemfile("modular/x_std_libs/r2.4/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/sequel_5.86_r2.5.gemfile b/gemfiles/sequel_5.86_r2.5.gemfile index 32578b70..3d341646 100644 --- a/gemfiles/sequel_5.86_r2.5.gemfile +++ b/gemfiles/sequel_5.86_r2.5.gemfile @@ -4,10 +4,12 @@ source "https://gem.coop" gem "sequel", "~> 5.86", ">= 5.86.0" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v6.0.gemfile") eval_gemfile("modular/omniauth/r2/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/sequel_5.86_r2.6.gemfile b/gemfiles/sequel_5.86_r2.6.gemfile index 486ef4e1..3efa2823 100644 --- a/gemfiles/sequel_5.86_r2.6.gemfile +++ b/gemfiles/sequel_5.86_r2.6.gemfile @@ -4,10 +4,12 @@ source "https://gem.coop" gem "sequel", "~> 5.86", ">= 5.86.0" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v6.1.gemfile") eval_gemfile("modular/omniauth/r2/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r2.6/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/sequel_5.86_r2.7.gemfile b/gemfiles/sequel_5.86_r2.7.gemfile index 80102f40..318915a2 100644 --- a/gemfiles/sequel_5.86_r2.7.gemfile +++ b/gemfiles/sequel_5.86_r2.7.gemfile @@ -4,10 +4,12 @@ source "https://gem.coop" gem "sequel", "~> 5.86", ">= 5.86.0" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r2/v7.1.gemfile") eval_gemfile("modular/omniauth/r2/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r2/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/sequel_5.86_r3.1.gemfile b/gemfiles/sequel_5.86_r3.1.gemfile index f5c3c88e..7f8eda80 100644 --- a/gemfiles/sequel_5.86_r3.1.gemfile +++ b/gemfiles/sequel_5.86_r3.1.gemfile @@ -4,10 +4,12 @@ source "https://gem.coop" gem "sequel", "~> 5.86", ">= 5.86.0" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3.1/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/sequel_5.86_r3.gemfile b/gemfiles/sequel_5.86_r3.gemfile index f1e9647f..c4c063cf 100644 --- a/gemfiles/sequel_5.86_r3.gemfile +++ b/gemfiles/sequel_5.86_r3.gemfile @@ -4,10 +4,12 @@ source "https://gem.coop" gem "sequel", "~> 5.86", ">= 5.86.0" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v7.1.gemfile") eval_gemfile("modular/omniauth/r3/v2.1.gemfile") eval_gemfile("modular/x_std_libs/r3/libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/gemfiles/style.gemfile b/gemfiles/style.gemfile index f68bb3d6..2f31a713 100644 --- a/gemfiles/style.gemfile +++ b/gemfiles/style.gemfile @@ -2,7 +2,7 @@ source "https://gem.coop" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/style.gemfile") diff --git a/gemfiles/unlocked_deps.gemfile b/gemfiles/unlocked_deps.gemfile index 7e0ff554..537f9350 100644 --- a/gemfiles/unlocked_deps.gemfile +++ b/gemfiles/unlocked_deps.gemfile @@ -5,7 +5,7 @@ source "https://gem.coop" gem "sequel", "~> 5.86", ">= 5.86.0" gem "rom-sql", "~> 3.7" -gemspec path: "../" +gemspec :path => "../" eval_gemfile("modular/activerecord/r3/v8.0.gemfile") @@ -20,3 +20,5 @@ eval_gemfile("modular/style.gemfile") eval_gemfile("modular/optional.gemfile") eval_gemfile("modular/x_std_libs.gemfile") + +eval_gemfile("modular/integration.gemfile") diff --git a/omniauth-identity.gemspec b/omniauth-identity.gemspec index 1aaf1c52..d8ae455b 100644 --- a/omniauth-identity.gemspec +++ b/omniauth-identity.gemspec @@ -134,7 +134,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency("anonymous_active_record", "~> 1.0", ">= 1.0.9") # ruby >= 2.4 spec.add_development_dependency("appraisal2", "~> 3.0") # ruby >= 1.8.7, for testing against multiple versions of dependencies spec.add_development_dependency("kettle-test", "~> 1.0") # ruby >= 2.3 - spec.add_development_dependency("rack-test", "~> 1") # ruby >= 2.0 + spec.add_development_dependency("rack-test", "~> 2.2") # ruby >= 2.0 spec.add_development_dependency("rspec-pending_for", "~> 0.0", ">= 0.0.17") # ruby >= 2.3, used to skip specs on incompatible Rubies # Releasing spec.add_development_dependency("ruby-progressbar", "~> 1.13") # ruby >= 0 diff --git a/spec/dummies/.keep b/spec/dummies/.keep new file mode 100644 index 00000000..e69de29b diff --git a/spec/integration/README.md b/spec/integration/README.md new file mode 100644 index 00000000..7d9ad75b --- /dev/null +++ b/spec/integration/README.md @@ -0,0 +1,35 @@ +# Integration Tests + +This directory contains integration tests that verify omniauth-identity works correctly within actual web application frameworks. + +## Structure + +- `spec/integration/*_spec.rb` - Integration test specs +- `spec/dummies/` - Minimal dummy applications for testing + +## Frameworks Tested + +1. **Sinatra + Sequel** - Minimal framework with lightweight ORM +2. **Roda + ROM** - Modern minimal stack +3. **Hanami + ROM-SQL** - Full-featured modern framework +4. **Rails + ActiveRecord** (via Combustion) - Most common use case + +## Running Tests + +```bash +# Run all integration tests +bundle exec rspec spec/integration + +# Run specific framework +bundle exec rspec spec/integration/sinatra_spec.rb + +# Run with specific appraisal +bundle exec appraisal ar-7-1-r3 rspec spec/integration/rails_spec.rb +``` + +## Notes + +- Integration gemfile uses `require: false` to prevent auto-loading +- Each test will explicitly require only the framework it needs +- Combustion setup (Rails) is deferred to later phases + diff --git a/spec/integration/spec_helper.rb b/spec/integration/spec_helper.rb new file mode 100644 index 00000000..54792344 --- /dev/null +++ b/spec/integration/spec_helper.rb @@ -0,0 +1,125 @@ +# frozen_string_literal: true + +# Load the main spec_helper for base configuration +require_relative "../spec_helper" + +# Load Rack::Test for all integration tests +require "rack/test" + +RSpec.configure do |config| + config.include Rack::Test::Methods + + # Tag all integration tests + config.define_derived_metadata(file_path: %r{/spec/integration/}) do |metadata| + metadata[:type] = :integration + metadata[:integration] = true + end +end + +# Shared examples for OmniAuth integration tests +RSpec.shared_examples "omniauth identity integration" do |framework_name| + describe "#{framework_name} integration" do + describe "registration flow" do + it "creates a new user with valid credentials" do + post "/auth/identity/register", { + name: "Test User", + email: "test@example.com", + password: "secure_password_123", + password_confirmation: "secure_password_123" + } + + expect(last_response.status).to be_between(200, 302) + end + + it "rejects registration with missing fields" do + post "/auth/identity/register", { + email: "test@example.com" + # Missing password + } + + expect(last_response.status).to be >= 400 + end + + it "rejects duplicate email registration" do + # First registration + post "/auth/identity/register", { + name: "Test User", + email: "duplicate@example.com", + password: "secure_password_123", + password_confirmation: "secure_password_123" + } + + # Duplicate registration + post "/auth/identity/register", { + name: "Another User", + email: "duplicate@example.com", + password: "different_password", + password_confirmation: "different_password" + } + + expect(last_response.status).to be >= 400 + end + end + + describe "login flow" do + before do + # Create a test user + post "/auth/identity/register", { + name: "Login Test", + email: "login@example.com", + password: "test_password_123", + password_confirmation: "test_password_123" + } + end + + it "authenticates with valid credentials" do + post "/auth/identity/callback", { + auth_key: "login@example.com", + password: "test_password_123" + } + + expect(last_response.status).to be_between(200, 302) + end + + it "rejects invalid password" do + post "/auth/identity/callback", { + auth_key: "login@example.com", + password: "wrong_password" + } + + expect(last_response.status).to be >= 400 + end + + it "rejects non-existent user" do + post "/auth/identity/callback", { + auth_key: "nonexistent@example.com", + password: "any_password" + } + + expect(last_response.status).to be >= 400 + end + end + + describe "auth hash structure" do + before do + post "/auth/identity/register", { + name: "Hash Test", + email: "hash@example.com", + password: "test_password_123", + password_confirmation: "test_password_123" + } + end + + it "returns properly structured auth hash on success" do + post "/auth/identity/callback", { + auth_key: "hash@example.com", + password: "test_password_123" + } + + # Framework-specific: subclasses will verify auth hash structure + # based on how the framework exposes the OmniAuth auth hash + end + end + end +end + From 69b48e1596dd4f949130efb33e182e2949d394d4 Mon Sep 17 00:00:00 2001 From: "Peter H. Boling" Date: Mon, 10 Nov 2025 17:03:15 -0700 Subject: [PATCH 02/23] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20kettle-dev=20v1.1.54?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/omniauth-identity.iml | 61 ++++++++++----------- Gemfile.lock | 103 +++++++++++++++++++----------------- 2 files changed, 85 insertions(+), 79 deletions(-) diff --git a/.idea/omniauth-identity.iml b/.idea/omniauth-identity.iml index a50aaf01..f6ac036d 100644 --- a/.idea/omniauth-identity.iml +++ b/.idea/omniauth-identity.iml @@ -11,11 +11,11 @@ - - - - - + + + + + @@ -24,12 +24,13 @@ - + + @@ -38,7 +39,7 @@ - + @@ -53,7 +54,7 @@ - + @@ -61,10 +62,10 @@ - + - + @@ -82,9 +83,9 @@ - - - + + + @@ -100,7 +101,7 @@ - + @@ -116,8 +117,8 @@ - - + + @@ -125,23 +126,23 @@ - + - + - + - + - + @@ -155,13 +156,13 @@ - + - + @@ -172,14 +173,14 @@ - + - + @@ -191,21 +192,21 @@ - + - + - + - + @@ -217,6 +218,6 @@ - + \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index b02cab4b..a2b19306 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -22,30 +22,32 @@ PATH GEM remote: https://gem.coop/ specs: - actionpack (7.2.2.2) - actionview (= 7.2.2.2) - activesupport (= 7.2.2.2) + actionpack (7.2.3) + actionview (= 7.2.3) + activesupport (= 7.2.3) + cgi nokogiri (>= 1.8.5) racc - rack (>= 2.2.4, < 3.2) + rack (>= 2.2.4, < 3.3) rack-session (>= 1.0.1) rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actionview (7.2.2.2) - activesupport (= 7.2.2.2) + actionview (7.2.3) + activesupport (= 7.2.3) builder (~> 3.1) + cgi erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activemodel (7.2.2.2) - activesupport (= 7.2.2.2) - activerecord (7.2.2.2) - activemodel (= 7.2.2.2) - activesupport (= 7.2.2.2) + activemodel (7.2.3) + activesupport (= 7.2.3) + activerecord (7.2.3) + activemodel (= 7.2.3) + activesupport (= 7.2.3) timeout (>= 0.4.0) - activesupport (7.2.2.2) + activesupport (7.2.3) base64 benchmark (>= 0.3) bigdecimal @@ -72,13 +74,14 @@ GEM backports (3.25.2) base64 (0.3.0) bcrypt (3.1.20) - benchmark (0.4.1) + benchmark (0.5.0) bigdecimal (3.3.1) bson (5.2.0) builder (3.3.0) bundler-audit (0.9.2) bundler (>= 1.2.0, < 3) thor (~> 1.0) + cgi (0.5.0) coderay (1.1.3) combustion (1.5.0) activesupport (>= 3.0.0) @@ -96,7 +99,7 @@ GEM multi_json (~> 1.7) crass (1.0.6) csv (3.3.5) - date (3.4.1) + date (3.5.0) debug (1.11.0) irb (~> 1.10) reline (>= 0.3.8) @@ -122,7 +125,7 @@ GEM dry-files (1.1.0) dry-inflector (1.2.0) dry-initializer (3.2.0) - dry-logger (1.1.0) + dry-logger (1.2.0) dry-logic (1.6.0) bigdecimal concurrent-ruby (~> 1.0) @@ -159,7 +162,7 @@ GEM dry-inflector (~> 1.0) dry-logic (~> 1.4) zeitwerk (~> 2.6) - erb (5.1.1) + erb (5.1.3) erubi (1.13.1) ffi (1.17.2-aarch64-linux-gnu) ffi (1.17.2-aarch64-linux-musl) @@ -171,7 +174,7 @@ GEM ffi (1.17.2-x86_64-darwin) ffi (1.17.2-x86_64-linux-gnu) ffi (1.17.2-x86_64-linux-musl) - formatador (1.2.1) + formatador (1.2.3) reline gem_bench (2.0.5) bundler (>= 1.14) @@ -235,12 +238,12 @@ GEM concurrent-ruby (~> 1.0) ice_nine (0.11.2) io-console (0.8.1) - irb (1.15.2) + irb (1.15.3) pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - json (2.15.1) - kettle-dev (1.1.38) + json (2.16.0) + kettle-dev (1.1.54) kettle-soup-cover (1.0.10) simplecov (~> 0.22) simplecov-cobertura (~> 3.0) @@ -282,7 +285,7 @@ GEM mime-types-data (~> 3.2025, >= 3.2025.0507) mime-types-data (3.2025.0924) mini_portile2 (2.8.9) - minitest (5.26.0) + minitest (5.26.1) mongo (2.21.3) base64 bson (>= 4.14.1, < 6.0.0) @@ -339,10 +342,10 @@ GEM rack-protection ostruct (0.6.3) parallel (1.27.0) - parser (3.3.9.0) + parser (3.3.10.0) ast (~> 2.4.1) racc - power_assert (2.0.5) + power_assert (3.0.1) pp (0.6.3) prettyprint prettyprint (0.2.0) @@ -355,7 +358,7 @@ GEM stringio public_suffix (6.0.2) racc (1.8.1) - rack (3.1.18) + rack (3.2.4) rack-protection (4.2.1) base64 (>= 0.1.0) logger (>= 1.6.0) @@ -374,22 +377,24 @@ GEM rails-html-sanitizer (1.6.2) loofah (~> 2.21) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) - railties (7.2.2.2) - actionpack (= 7.2.2.2) - activesupport (= 7.2.2.2) + railties (7.2.3) + actionpack (= 7.2.3) + activesupport (= 7.2.3) + cgi irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) thor (~> 1.0, >= 1.2.2) + tsort (>= 0.2) zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.3.0) + rake (13.3.1) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) rbs (3.9.5) logger - rdoc (6.15.0) + rdoc (6.15.1) erb psych (>= 4.0.0) tsort @@ -400,7 +405,7 @@ GEM rainbow (>= 2.0, < 4.0) rexml (~> 3.1) regexp_parser (2.11.3) - reline (0.6.2) + reline (0.6.3) io-console (~> 0.5) require_bench (1.0.4) version_gem (>= 1.1.3, < 4) @@ -444,7 +449,7 @@ GEM rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.6) + rspec-mocks (3.13.7) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-pending_for (0.1.19) @@ -467,7 +472,7 @@ GEM rubocop-ast (>= 1.46.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.47.1) + rubocop-ast (1.48.0) parser (>= 3.3.7.2) prism (~> 1.4) rubocop-gradual (0.3.6) @@ -511,7 +516,7 @@ GEM rubocop-sequel (0.4.1) lint_roller (~> 1.1) rubocop (>= 1.72.1, < 2) - rubocop-shopify (2.17.1) + rubocop-shopify (2.18.0) rubocop (~> 1.62) rubocop-thread_safety (0.7.3) lint_roller (~> 1.1) @@ -522,7 +527,7 @@ GEM ruby_engine (2.0.3) ruby_version (1.0.3) securerandom (0.4.1) - sequel (5.97.0) + sequel (5.98.0) bigdecimal shellany (0.0.1) silent_stream (1.0.12) @@ -557,16 +562,16 @@ GEM rack-protection (= 4.2.1) sinatra (= 4.2.1) tilt (~> 2.0) - sqlite3 (2.7.4-aarch64-linux-gnu) - sqlite3 (2.7.4-aarch64-linux-musl) - sqlite3 (2.7.4-arm-linux-gnu) - sqlite3 (2.7.4-arm-linux-musl) - sqlite3 (2.7.4-arm64-darwin) - sqlite3 (2.7.4-x86-linux-gnu) - sqlite3 (2.7.4-x86-linux-musl) - sqlite3 (2.7.4-x86_64-darwin) - sqlite3 (2.7.4-x86_64-linux-gnu) - sqlite3 (2.7.4-x86_64-linux-musl) + sqlite3 (2.8.0-aarch64-linux-gnu) + sqlite3 (2.8.0-aarch64-linux-musl) + sqlite3 (2.8.0-arm-linux-gnu) + sqlite3 (2.8.0-arm-linux-musl) + sqlite3 (2.8.0-arm64-darwin) + sqlite3 (2.8.0-x86-linux-gnu) + sqlite3 (2.8.0-x86-linux-musl) + sqlite3 (2.8.0-x86_64-darwin) + sqlite3 (2.8.0-x86_64-linux-gnu) + sqlite3 (2.8.0-x86_64-linux-musl) standard (1.51.1) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.0) @@ -585,13 +590,13 @@ GEM standard-custom (>= 1.0.2, < 2) standard-performance (>= 1.3.1, < 2) version_gem (>= 1.1.4, < 3) - stone_checksums (1.0.2) - version_gem (~> 1.1, >= 1.1.8) + stone_checksums (1.0.3) + version_gem (~> 1.1, >= 1.1.9) stringio (3.1.7) symbol_decoration (1.1.0) terminal-table (4.0.0) unicode-display_width (>= 1.1.1, < 4) - test-unit (3.7.0) + test-unit (3.7.1) power_assert thor (1.4.0) tilt (2.6.1) @@ -600,7 +605,7 @@ GEM delegate (~> 0.1) rspec (~> 3.0) timecop (>= 0.7, < 1) - timeout (0.4.3) + timeout (0.4.4) transproc (1.1.1) tsort (0.2.0) tzinfo (2.0.6) @@ -614,7 +619,7 @@ GEM yard-relative_markdown_links (0.5.0) nokogiri (>= 1.14.3, < 2) zeitwerk (2.7.3) - zlib (3.2.1) + zlib (3.2.2) PLATFORMS aarch64-linux From 948d587dcff7963c918a2452f49771ba222928f3 Mon Sep 17 00:00:00 2001 From: "Peter H. Boling" Date: Wed, 12 Nov 2025 03:18:54 -0700 Subject: [PATCH 03/23] =?UTF-8?q?=F0=9F=8E=A8=20Template=20bootstrap=20by?= =?UTF-8?q?=20kettle-dev-setup=20v1.1.56?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.local.example | 2 +- .git-hooks/commit-msg | 56 +- .git-hooks/footer-template.erb.txt | 2 +- .git-hooks/prepare-commit-msg | 17 +- .github/workflows/style.yml | 2 + .gitlab-ci.yml | 16 +- .idea/.gitignore | 45 + .idea/omniauth-identity.iml | 223 ---- .idea/workspace.xml | 328 ++++-- .junie/guidelines.md | 11 +- .rubocop_gradual.lock | 4 +- .rubocop_rspec.yml | 2 +- .yardignore | 5 + .yardopts | 11 +- Appraisals | 15 + CONTRIBUTING.md | 36 +- FUNDING.md | 17 +- Gemfile.lock | 95 +- README.md | 28 +- Rakefile | 2 +- bin/combust | 16 + bin/hanami | 16 + bin/rails | 16 + bin/tilt | 16 + bin/yaml-convert | 16 + docs/.nojekyll | 0 docs/CNAME | 1 - docs/OmniAuth.html | 2 +- docs/OmniAuth/Identity.html | 2 +- docs/OmniAuth/Identity/Model.html | 2 +- .../Identity/Model/ClassCreateApi.html | 8 +- .../OmniAuth/Identity/Model/ClassMethods.html | 2 +- .../Identity/Model/InstancePersistedApi.html | 2 +- .../Identity/Model/InstanceSaveApi.html | 2 +- docs/OmniAuth/Identity/Models.html | 2 +- .../Identity/Models/ActiveRecord.html | 2 +- .../Identity/Models/CouchPotatoModule.html | 2 +- docs/OmniAuth/Identity/Models/Mongoid.html | 2 +- docs/OmniAuth/Identity/Models/NoBrainer.html | 2 +- docs/OmniAuth/Identity/Models/Rom.html | 2 +- .../Identity/Models/Rom/ClassMethods.html | 2 +- docs/OmniAuth/Identity/Models/Sequel.html | 2 +- docs/OmniAuth/Identity/SecurePassword.html | 2 +- .../Identity/SecurePassword/ClassMethods.html | 2 +- .../InstanceMethodsOnActivation.html | 2 +- docs/OmniAuth/Identity/Version.html | 2 +- docs/OmniAuth/Strategies.html | 2 +- docs/OmniAuth/Strategies/Identity.html | 2 +- docs/_index.html | 38 +- docs/file.CHANGELOG.html | 2 +- docs/file.CITATION.html | 92 -- docs/file.CODE_OF_CONDUCT.html | 2 +- docs/file.CONTRIBUTING.html | 97 +- docs/file.FUNDING.html | 21 +- docs/file.LICENSE.html | 2 +- docs/file.README.html | 231 +++-- docs/file.REEK.html | 71 -- docs/file.RUBOCOP.html | 2 +- docs/file.SECURITY.html | 28 +- docs/file_list.html | 60 -- docs/images/logo/README.txt | 30 - .../logo/galtzo-floss-logos-original.svg | 1 - .../logo/galtzo-floss-logos-wordless.svg | 1 - docs/images/logo/omniauth-logo-182px.png | Bin 22567 -> 0 bytes docs/images/logo/ruby-logo-124px.jpeg | Bin 3935 -> 0 bytes docs/images/logo/ruby-logo-198px.svg | 948 ------------------ docs/index.html | 231 +++-- docs/top-level-namespace.html | 2 +- gemfiles/current.gemfile | 7 + gemfiles/head.gemfile | 9 + gemfiles/modular/documentation.gemfile | 9 +- gemfiles/modular/integration.gemfile | 1 - gemfiles/modular/x_std_libs/r2.3/libs.gemfile | 4 + lib/omniauth/identity/model.rb | 4 +- omniauth-identity.gemspec | 3 +- spec/integration/spec_helper.rb | 110 +- spec/support/shared_examples/integration.rb | 106 ++ 77 files changed, 1019 insertions(+), 2139 deletions(-) create mode 100644 .idea/.gitignore delete mode 100644 .idea/omniauth-identity.iml create mode 100644 .yardignore create mode 100755 bin/combust create mode 100755 bin/hanami create mode 100755 bin/rails create mode 100755 bin/tilt create mode 100755 bin/yaml-convert delete mode 100644 docs/.nojekyll delete mode 100644 docs/CNAME delete mode 100644 docs/file.CITATION.html delete mode 100644 docs/file.REEK.html delete mode 100644 docs/images/logo/README.txt delete mode 100644 docs/images/logo/galtzo-floss-logos-original.svg delete mode 100644 docs/images/logo/galtzo-floss-logos-wordless.svg delete mode 100644 docs/images/logo/omniauth-logo-182px.png delete mode 100644 docs/images/logo/ruby-logo-124px.jpeg delete mode 100644 docs/images/logo/ruby-logo-198px.svg create mode 100644 gemfiles/current.gemfile create mode 100644 gemfiles/head.gemfile create mode 100644 gemfiles/modular/x_std_libs/r2.3/libs.gemfile create mode 100644 spec/support/shared_examples/integration.rb diff --git a/.env.local.example b/.env.local.example index 7729745d..1901a7a7 100644 --- a/.env.local.example +++ b/.env.local.example @@ -1,7 +1,7 @@ # # DO NOT EDIT THIS FILE # -# COPT THIS FILE TO .env.local +# COPY THIS FILE TO .env.local # # That file is ignored by .gitignore. This file is not. # diff --git a/.git-hooks/commit-msg b/.git-hooks/commit-msg index 750c5bb1..5d160e67 100755 --- a/.git-hooks/commit-msg +++ b/.git-hooks/commit-msg @@ -16,33 +16,39 @@ begin # Is the first character a GitMoji? gitmoji_index = full_text =~ Gitmoji::Regex::REGEX if gitmoji_index == 0 - exit 0 + exit(0) else - denied = < e - warn("gitmoji-regex gem not found: #{e.class}: #{e.message}.\n\tSkipping gitmoji check and allowing commit to proceed.\n\tRecommendation: add 'gitmoji-regex' to your development dependencies to enable this check.") - exit 0 + failure = <<~EOM + gitmoji-regex gem not found: #{e.class}: #{e.message}. + Skipping gitmoji check and allowing commit to proceed. + Recommendation: add 'gitmoji-regex' to your development dependencies to enable this check. + + EOM + warn(failure) + exit(0) end diff --git a/.git-hooks/footer-template.erb.txt b/.git-hooks/footer-template.erb.txt index d732d699..36cdb0ad 100644 --- a/.git-hooks/footer-template.erb.txt +++ b/.git-hooks/footer-template.erb.txt @@ -1,5 +1,5 @@ ⚡️ A message from a fellow meat-based-AI ⚡️ -- [❤️] Finely-crafted open-source tools like <%= @gem_name %> (& many more) are a full-time endeavor. +- [❤️] Finely-crafted open-source tools like <%= @gem_name %> (& many more) require time and effort. - [❤️] Though I adore my work, it lacks financial sustainability. - [❤️] Please, help me continue enhancing your tools by becoming a sponsor: - [💲] https://liberapay.com/pboling/donate diff --git a/.git-hooks/prepare-commit-msg b/.git-hooks/prepare-commit-msg index c6a15570..dbc30589 100755 --- a/.git-hooks/prepare-commit-msg +++ b/.git-hooks/prepare-commit-msg @@ -3,17 +3,6 @@ # Fail on error and unset variables set -eu -# Determine project root as the parent directory of this hook script -PROJECT_ROOT="$(CDPATH= cd -- "$(dirname -- "$0")"/.. && pwd)" - -# Run the Ruby hook within the direnv context (if available), -# so ENV from .envrc/.env.local at project root is loaded. -# One of the things .envrc needs to do is add $PROJECT_ROOT/bin/ to the path. -# You should have this line at the top of .envrc -# PATH_add bin -# NOTE: If this project ships exe scripts it should also add that. -if command -v direnv >/dev/null 2>&1; then - exec direnv exec "$PROJECT_ROOT" "kettle-commit-msg" "$@" -else - raise "direnv not found. Local development of this project ($PROJECT_ROOT) with tools from the kettle-dev gem may not work properly. Please run 'brew install direnv'." -fi +# We are not using direnv exec here because mise and direnv can result in conflicting PATH settings: +# See: https://mise.jdx.dev/direnv.html +exec "kettle-commit-msg" "$@" diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index 2fe1e03c..4fbef86e 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -63,3 +63,5 @@ jobs: run: bundle exec appraisal ${{ matrix.appraisal }} bundle - name: Run ${{ matrix.appraisal }} checks via ${{ matrix.exec_cmd }} run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }} + - name: Validate RBS Types + run: bundle exec appraisal ${{ matrix.appraisal }} bin/rbs validate diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3390138a..f5e31277 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,7 +13,7 @@ # - template: Security/SAST.gitlab-ci.yml default: - image: ruby + image: "ruby:${RUBY_VERSION}" variables: BUNDLE_INSTALL_FLAGS: "--quiet --jobs=$(nproc) --retry=3" @@ -22,8 +22,8 @@ variables: K_SOUP_COV_DEBUG: true K_SOUP_COV_DO: true K_SOUP_COV_HARD: true - K_SOUP_COV_MIN_BRANCH: 100 - K_SOUP_COV_MIN_LINE: 100 + K_SOUP_COV_MIN_BRANCH: 74 + K_SOUP_COV_MIN_LINE: 90 K_SOUP_COV_VERBOSE: true K_SOUP_COV_FORMATTERS: "tty" K_SOUP_COV_MULTI_FORMATTERS: true @@ -39,7 +39,6 @@ workflow: - if: '$CI_COMMIT_TAG' .test_template-current: &test_definition-current - image: ruby:${RUBY_VERSION} stage: test script: # || true so we don't fail here, because it'll probably work even if the gem update fails @@ -67,7 +66,6 @@ workflow: - vendor/ruby .test_template-legacy: &test_definition-legacy - image: ruby:${RUBY_VERSION} stage: test script: # RUBYGEMS_VERSION because we support EOL Ruby still... @@ -87,7 +85,7 @@ workflow: - bundle exec appraisal ${APPRAISAL} bin/rake --tasks # Run tests, skipping those that won't work in CI - > - bundle exec appraisal unlocked_deps \ + bundle exec appraisal ${APPRAISAL} \ bin/rspec spec \ --tag \~ci_skip \ --format progress \ @@ -108,7 +106,7 @@ ruby-current: ruby-ruby3_1: variables: RUBYGEMS_VERSION: "3.6.9" - APPRAISAL: ruby_3_1 + APPRAISAL: ruby-3-1 K_SOUP_COV_DO: false <<: *test_definition-legacy parallel: @@ -118,7 +116,7 @@ ruby-ruby3_1: ruby-ruby3_0: variables: RUBYGEMS_VERSION: "3.5.23" - APPRAISAL: ruby_3_0 + APPRAISAL: ruby-3-0 K_SOUP_COV_DO: false <<: *test_definition-legacy parallel: @@ -128,7 +126,7 @@ ruby-ruby3_0: ruby-ruby2_7: variables: RUBYGEMS_VERSION: "3.4.22" - APPRAISAL: ruby_2_7 + APPRAISAL: ruby-2-7 K_SOUP_COV_DO: false <<: *test_definition-legacy parallel: diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..39bb1435 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,45 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml + +# Zencoder local files +/zencoder/chats +/zencoder-chat-index.xml +/zencoder-chats-dedicated.xml +# Local project config +*.iml + +# Added: Ignore plugin migration/state artifacts (machine-specific) +/copilot.data.migration.*.xml +/GitLink.xml + +# Added: Ignore task & usage statistics (contain local timestamps / paths) +/tasks.xml +/usage.statistics.xml + +# Added: Local inspection profiles (developer-specific customizations) +/inspectionProfiles/ + +# Added: Library & index caches (regenerated per machine) +/libraries/ +/indexLayout.xml +/indexes/ + +# Added: Terminal, SSH, and other per-user runtime config +/terminal/ +/sshConfigs/ + +# Added: RubyMine misc SDK version drift (optional). Comment to share SDK config. +# /misc.xml + +# Commit: VCS local mappings can be regenerated (optional). Comment to share settings. +# /vcs.xml + +# Commit: Dictionary files (local spellcheck customizations) +# /dictionaries/ + diff --git a/.idea/omniauth-identity.iml b/.idea/omniauth-identity.iml deleted file mode 100644 index f6ac036d..00000000 --- a/.idea/omniauth-identity.iml +++ /dev/null @@ -1,223 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 3988221c..43abd528 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,78 +4,49 @@