diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..64e57d83 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,51 @@ +name: Test + +on: + push: + branches: + - main + paths-ignore: + - '**.md' + pull_request: + types: + - opened + - synchronize + paths-ignore: + - '**.md' + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ruby: + - 3.2.1 + - 3.1.3 + - 3.0.5 + appraisal: + - rails_7_0 + - rails_6_1 + adapter: + - sqlite3 + - postgresql + exclude: + - { ruby: 3.2.1, appraisal: rails_6_1 } + - { ruby: 3.0.5, appraisal: rails_7_0 } + env: + BUNDLE_GEMFILE: gemfiles/${{ matrix.appraisal }}.gemfile + steps: + - uses: actions/checkout@v3 + - name: Set up Ruby + id: set-up-ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + - uses: actions/cache@v3 + with: + path: vendor/bundle + key: v1-rubygems-local-${{ runner.os }}-${{ matrix.ruby }}-${{ hashFiles(format('gemfiles/{0}.gemfile.lock', matrix.appraisal)) }} + - name: Install dependencies + run: bundle install --jobs=3 --retry=3 + - name: Run Tests + run: bundle exec rake diff --git a/.github/workflows/rubocop.yml b/.github/workflows/rubocop.yml new file mode 100644 index 00000000..89bb8709 --- /dev/null +++ b/.github/workflows/rubocop.yml @@ -0,0 +1,30 @@ +name: RuboCop + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + + - name: Cache gems + uses: actions/cache@v3 + with: + path: ../vendor/bundle + key: ${{ runner.os }}-rubocop-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-rubocop- + + - name: Install gems + run: | + bundle config path ../vendor/bundle + bundle install --jobs 4 --retry 3 + + - name: Run RuboCop + run: bundle exec rubocop --parallel diff --git a/.rubocop.yml b/.rubocop.yml index 9c870910..c0f662be 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,15 +1,48 @@ +require: + - rubocop-packaging AllCops: - TargetRubyVersion: 2.4 -Layout/ParameterAlignment: + NewCops: disable + TargetRubyVersion: 3.0 + Exclude: + - 'gemfiles/*' + - 'tmp/**/*' + SuggestExtensions: false +Bundler/OrderedGems: + Include: + - '**/Gemfile' +Layout/ArgumentAlignment: EnforcedStyle: with_fixed_indentation +Layout/CommentIndentation: + Enabled: false Layout/ConditionPosition: Enabled: false Layout/DotPosition: EnforcedStyle: trailing +Layout/EmptyLineBetweenDefs: + AllowAdjacentOneLineDefs: true Layout/HeredocIndentation: Enabled: false +Layout/LineLength: + Exclude: + - spec/**/* + AllowedPatterns: + - !ruby/regexp /\A +(it|describe|context|shared_examples|include_examples|it_behaves_like) ["']/ + - !ruby/regexp /\A(require|require_relative) ["']/ + - '^[ ]*#.+$' + - '^[ ]*''.+?'' => ''.+?'',?$' + - '^[ ]*".+?" => ".+?",?$' + Max: 100 Layout/MultilineMethodCallIndentation: EnforcedStyle: indented +Layout/ParameterAlignment: + EnforcedStyle: with_fixed_indentation +Layout/SpaceInLambdaLiteral: + EnforcedStyle: require_space +Layout/SpaceInsideBlockBraces: + Enabled: false +Lint/AmbiguousBlockAssociation: + Exclude: + - spec/**/* Lint/AmbiguousOperator: Enabled: false Lint/AmbiguousRegexpLiteral: @@ -20,53 +53,61 @@ Lint/DeprecatedClassMethods: Enabled: false Lint/ElseLayout: Enabled: false -Lint/SuppressedException: +Lint/FlipFlop: Enabled: false Lint/LiteralInInterpolation: Enabled: false Lint/Loop: Enabled: false +Lint/MissingSuper: + Enabled: false Lint/ParenthesesAsGroupedExpression: Enabled: false Lint/RequireParentheses: Enabled: false +Lint/SafeNavigationChain: + Enabled: false +Lint/SuppressedException: + Enabled: false Lint/UnderscorePrefixedVariableName: Enabled: false Lint/Void: Enabled: false +Metrics/AbcSize: + Enabled: false Metrics/BlockLength: Enabled: false Metrics/ClassLength: Enabled: false -Metrics/LineLength: - IgnoredPatterns: - - "^[ ]*describe.+$" - - "^[ ]*context.+$" - - "^[ ]*shared_context.+$" - - "^[ ]*shared_examples_for.+$" - - "^[ ]*it.+$" - - "^[ ]*'.+?' => '.+?',?$" - - "^[ ]*\".+?\" => \".+?\",?$" - - "^[ ]*.+?: .+?$" +Metrics/CyclomaticComplexity: + Enabled: false Metrics/MethodLength: Max: 30 +Metrics/ModuleLength: + Enabled: true + Exclude: + - spec/**/* +Metrics/ParameterLists: + CountKeywordArgs: false +Metrics/PerceivedComplexity: + Enabled: false Naming/AccessorMethodName: Enabled: false Naming/AsciiIdentifiers: Enabled: false Naming/BinaryOperatorParameterName: Enabled: false -Style/ClassVars: +Naming/FileName: Enabled: false -Style/ColonMethodCall: +Naming/HeredocDelimiterNaming: Enabled: false -Naming/FileName: +Naming/MemoizedInstanceVariableName: + EnforcedStyleForLeadingUnderscores: required +Naming/PredicateName: Enabled: false -Rails: - Enabled: true -Rails/Delegate: +Naming/VariableNumber: Enabled: false -Rails/HttpPositionalArguments: +Naming/RescuedExceptionsVariableName: Enabled: false Style/Alias: Enabled: false @@ -76,18 +117,25 @@ Style/AsciiComments: Enabled: false Style/Attr: Enabled: false +Style/BlockDelimiters: + Enabled: false Style/CaseEquality: Enabled: false Style/CharacterLiteral: Enabled: false Style/ClassAndModuleChildren: Enabled: false +Style/ClassVars: + Enabled: false Style/CollectionMethods: + Enabled: true PreferredMethods: - find: detect - reduce: inject collect: map + find: detect find_all: select + reduce: inject +Style/ColonMethodCall: + Enabled: false Style/CommentAnnotation: Enabled: false Style/Documentation: @@ -96,16 +144,20 @@ Style/DoubleNegation: Enabled: false Style/EachWithObject: Enabled: false +Style/EmptyElse: + Enabled: false Style/EmptyLiteral: Enabled: false +Style/EmptyMethod: + EnforcedStyle: expanded Style/Encoding: Enabled: false Style/EvenOdd: Enabled: false -Lint/FlipFlop: - Enabled: false Style/FormatString: Enabled: false +Style/FormatStringToken: + EnforcedStyle: template Style/FrozenStringLiteralComment: Enabled: false Style/GlobalVars: @@ -118,6 +170,8 @@ Style/IfWithSemicolon: Enabled: false Style/InlineComment: Enabled: false +Style/InverseMethods: + Enabled: false Style/Lambda: Enabled: false Style/LambdaCall: @@ -144,6 +198,8 @@ Style/NumericPredicate: Enabled: false Style/OneLineConditional: Enabled: false +Style/OptionalBooleanParameter: + Enabled: false Style/ParenthesesAroundCondition: Enabled: false Style/PercentLiteralDelimiters: @@ -156,8 +212,6 @@ Style/Proc: Enabled: false Style/RaiseArgs: Enabled: false -Style/RedundantParentheses: - Enabled: false Style/RegexpLiteral: Enabled: false Style/SelfAssignment: @@ -182,11 +236,11 @@ Style/TrailingCommaInHashLiteral: EnforcedStyleForMultiline: consistent_comma Style/TrivialAccessors: Enabled: false +Style/VariableInterpolation: + Enabled: false Style/WhenThen: Enabled: false Style/WhileUntilModifier: Enabled: false Style/WordArray: Enabled: false -Style/VariableInterpolation: - Enabled: false diff --git a/.ruby-version b/.ruby-version index 860487ca..e4604e3a 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.7.1 +3.2.1 diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 00000000..40b87ee4 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +ruby 3.2.1 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0604c19c..00000000 --- a/.travis.yml +++ /dev/null @@ -1,34 +0,0 @@ -language: ruby -dist: xenial -os: linux -cache: - directories: - - vendor/bundle -# Source: -before_install: - - gem update --system '3.1.2' --no-document - - gem uninstall -v '< 2' -i $(rvm gemdir)@global -ax bundler || true - - gem install bundler -v '< 2' --no-document - - nvm use v11.0.0 - - bundle config set path vendor/bundle -install: "bundle install --jobs=3 --retry=3" -script: "bundle exec rake" -rvm: - - 2.4.9 - - 2.5.8 - - 2.6.6 - - 2.7.1 -gemfile: - - gemfiles/rails_4_2.gemfile - - gemfiles/rails_5_0.gemfile - - gemfiles/rails_5_1.gemfile - - gemfiles/rails_5_2.gemfile - - gemfiles/rails_6_0.gemfile -matrix: - exclude: - - rvm: 2.4.9 - gemfile: gemfiles/rails_6_0.gemfile - - rvm: 2.6.6 - gemfile: gemfiles/rails_4_2.gemfile - - rvm: 2.7.1 - gemfile: gemfiles/rails_4_2.gemfile diff --git a/Appraisals b/Appraisals index 83619899..bab3a9ed 100644 --- a/Appraisals +++ b/Appraisals @@ -3,114 +3,68 @@ # best to keep the gems here in the same order as they're listed there so you # can compare them more easily. -shared_rails_dependencies = proc do - gem 'sqlite3', '~> 1.3.6' - gem 'rubyzip', '~> 1.3.0' +# Needed for Rails 5+ controller tests +controller_test_dependency = proc do + gem 'rails-controller-testing', '>= 1.0.1' end shared_spring_dependencies = proc do gem 'spring' - gem 'spring-commands-rspec' -end - -shared_test_dependencies = proc do - gem 'minitest-reporters' + gem 'spring-watcher-listen', '~> 2.0.0' end -shared_dependencies = proc do - instance_eval(&shared_rails_dependencies) +appraise 'rails_6_1' do instance_eval(&shared_spring_dependencies) - instance_eval(&shared_test_dependencies) -end - -appraise 'rails_4_2' do - instance_eval(&shared_dependencies) - - gem 'rails', '~> 4.2.10' - gem 'sass-rails', '~> 5.0' - gem 'uglifier', '>= 1.3.0' - gem 'coffee-rails', '~> 4.1.0' - gem 'jquery-rails' - gem 'turbolinks' - gem 'jbuilder', '~> 2.0' - gem 'sdoc', '~> 0.4.0', group: :doc - gem 'bcrypt', '~> 3.1.7' - - # Other dependencies we use - gem 'activeresource', '4.0.0' - gem 'json', '~> 1.4' - gem 'protected_attributes', '~> 1.0.6' -end - -appraise 'rails_5_0' do - instance_eval(&shared_dependencies) + instance_eval(&controller_test_dependency) - gem 'rails', '~> 5.0.7' - gem 'rails-controller-testing', '>= 1.0.1' - gem 'puma', '~> 3.0' - gem 'sass-rails', '~> 5.0' - gem 'jquery-rails' + gem 'rails', '6.1.7.2' + gem 'puma', '~> 5.0' + gem 'sass-rails', '>= 6' gem 'turbolinks', '~> 5' - gem 'jbuilder', '~> 2.5' + gem 'jbuilder', '~> 2.7' gem 'bcrypt', '~> 3.1.7' - gem 'listen', '~> 3.0.5' - gem 'spring-watcher-listen', '~> 2.0.0' -end + gem 'bootsnap', '>= 1.4.4', require: false + gem 'rack-mini-profiler', '~> 2.0.0' + gem 'listen', '~> 3.3' + gem 'capybara', '>= 3.26' + gem 'selenium-webdriver', '>= 4.0.0.rc1' + gem 'webdrivers' + gem 'net-smtp', require: false + gem 'psych', '~> 3.0' -appraise 'rails_5_1' do - instance_eval(&shared_dependencies) - gem 'rails', '~> 5.1.6' - gem 'rails-controller-testing', '>= 1.0.1' - gem 'puma', '~> 3.7' - gem 'sass-rails', '~> 5.0' - gem 'turbolinks', '~> 5' - gem 'jbuilder', '~> 2.5' - gem 'bcrypt', '~> 3.1.7' - gem 'capybara', '~> 2.13' - gem 'selenium-webdriver' - gem 'listen', '>= 3.0.5', '< 3.2' - gem 'spring-watcher-listen', '~> 2.0.0' + # test dependencies + gem 'rspec-rails', '~> 6.0' + gem 'shoulda-context', '~> 2.0.0' + + # Database adapters + gem 'pg', '>= 0.18', '< 2.0' + gem 'sqlite3', '~> 1.4' end -appraise 'rails_5_2' do - instance_eval(&shared_dependencies) +appraise 'rails_7_0' do + instance_eval(&shared_spring_dependencies) + instance_eval(&controller_test_dependency) - gem 'rails', '~> 5.2.2' - gem 'rails-controller-testing', '>= 1.0.1' - gem 'puma', '~> 3.11' - gem 'bootsnap', '>= 1.1.0', require: false - gem 'sass-rails', '~> 5.0' - gem 'turbolinks', '~> 5' - gem 'jbuilder', '~> 2.5' - gem 'bcrypt', '~> 3.1.7' - gem 'capybara', '~> 3.1.1' + gem 'rails', '7.0.4.2' + gem 'sprockets-rails' + gem 'puma', '~> 5.0' + gem 'importmap-rails' + gem 'turbo-rails' + gem 'stimulus-rails' + gem 'jbuilder' + gem 'bootsnap', require: false + gem 'capybara' gem 'selenium-webdriver' - gem 'chromedriver-helper' - gem 'listen', '>= 3.0.5', '< 3.2' - gem 'spring-watcher-listen', '~> 2.0.0' -end + gem 'webdrivers' -if Gem::Requirement.new('>= 2.5.0').satisfied_by?(Gem::Version.new(RUBY_VERSION)) - appraise 'rails_6_0' do - instance_eval(&shared_dependencies) + # test dependencies + gem 'rspec-rails', '~> 6.0' + gem 'shoulda-context', '~> 2.0.0' - gem 'rails', '~> 6.0.2' - gem 'puma', '~> 4.1' - gem 'sass-rails', '>= 6' - gem 'webpacker', '~> 4.0' - gem 'turbolinks', '~> 5' - gem 'jbuilder', '~> 2.7' - gem 'bcrypt', '~> 3.1.7' - gem 'bootsnap', '>= 1.4.2', require: false - gem 'listen', '>= 3.0.5', '< 3.2' - gem 'spring-watcher-listen', '~> 2.0.0' - gem 'capybara', '>= 2.15' - gem 'selenium-webdriver' - gem "sqlite3", "~> 1.4.0" - gem 'webdrivers' + # other dependencies + gem 'bcrypt', '~> 3.1.7' - # Other dependencies - gem 'rails-controller-testing', '>= 1.0.4' - gem 'pg', '~> 1.1', platform: :ruby - end + # Database adapters + gem 'sqlite3', '~> 1.4' + gem 'pg', '~> 1.1' end diff --git a/Gemfile b/Gemfile index 0d8128b7..2a79140f 100644 --- a/Gemfile +++ b/Gemfile @@ -2,15 +2,16 @@ source 'https://rubygems.org' gemspec -gem 'appraisal', '~> 2.1' -gem 'bundler', '~> 1.0' +gem 'appraisal' gem 'm' gem 'minitest', '~> 5.0' gem 'minitest-reporters', '~> 1.0' -gem 'mry' -gem 'pry', '~> 0.12.0' -gem 'pry-byebug', '~> 3.6.0' -gem 'rubocop', '0.71.0', require: false +gem 'pry' +gem 'pry-byebug' +gem 'rake', '13.0.1' +gem 'rspec', '~> 3.9' +gem 'rubocop', require: false +gem 'rubocop-packaging', require: false gem 'rubocop-rails', require: false -gem 'snowglobe', '>= 0.3.0' +gem 'snowglobe', github: 'mcmire/snowglobe', ref: '408ee4c08f823a4d9f89902fa0fa29aff7cafe6d' gem 'warnings_logger' diff --git a/gemfiles/rails_4_2.gemfile b/gemfiles/rails_4_2.gemfile deleted file mode 100644 index 8e7f6684..00000000 --- a/gemfiles/rails_4_2.gemfile +++ /dev/null @@ -1,34 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "appraisal", "~> 2.1" -gem "bundler", "~> 1.0" -gem "m" -gem "minitest", "~> 5.0" -gem "minitest-reporters" -gem "mry" -gem "pry", "~> 0.12.0" -gem "pry-byebug", "~> 3.6.0" -gem "rubocop", "0.71.0", require: false -gem "rubocop-rails", require: false -gem "snowglobe", ">= 0.3.0" -gem "warnings_logger" -gem "sqlite3", "~> 1.3.6" -gem "rubyzip", "~> 1.3.0" -gem "spring" -gem "spring-commands-rspec" -gem "rails", "~> 4.2.10" -gem "sass-rails", "~> 5.0" -gem "uglifier", ">= 1.3.0" -gem "coffee-rails", "~> 4.1.0" -gem "jquery-rails" -gem "turbolinks" -gem "jbuilder", "~> 2.0" -gem "sdoc", "~> 0.4.0", group: :doc -gem "bcrypt", "~> 3.1.7" -gem "activeresource", "4.0.0" -gem "json", "~> 1.4" -gem "protected_attributes", "~> 1.0.6" - -gemspec path: "../" diff --git a/gemfiles/rails_4_2.gemfile.lock b/gemfiles/rails_4_2.gemfile.lock deleted file mode 100644 index 35791730..00000000 --- a/gemfiles/rails_4_2.gemfile.lock +++ /dev/null @@ -1,240 +0,0 @@ -PATH - remote: .. - specs: - shoulda (4.0.0) - shoulda-context (~> 2.0) - shoulda-matchers (~> 4.0) - -GEM - remote: https://rubygems.org/ - specs: - actionmailer (4.2.11.1) - actionpack (= 4.2.11.1) - actionview (= 4.2.11.1) - activejob (= 4.2.11.1) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 1.0, >= 1.0.5) - actionpack (4.2.11.1) - actionview (= 4.2.11.1) - activesupport (= 4.2.11.1) - rack (~> 1.6) - rack-test (~> 0.6.2) - rails-dom-testing (~> 1.0, >= 1.0.5) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (4.2.11.1) - activesupport (= 4.2.11.1) - builder (~> 3.1) - erubis (~> 2.7.0) - rails-dom-testing (~> 1.0, >= 1.0.5) - rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (4.2.11.1) - activesupport (= 4.2.11.1) - globalid (>= 0.3.0) - activemodel (4.2.11.1) - activesupport (= 4.2.11.1) - builder (~> 3.1) - activerecord (4.2.11.1) - activemodel (= 4.2.11.1) - activesupport (= 4.2.11.1) - arel (~> 6.0) - activeresource (4.0.0) - activemodel (~> 4.0) - activesupport (~> 4.0) - rails-observers (~> 0.1.1) - activesupport (4.2.11.1) - i18n (~> 0.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) - ansi (1.5.0) - appraisal (2.2.0) - bundler - rake - thor (>= 0.14.0) - arel (6.0.4) - ast (2.4.0) - bcrypt (3.1.13) - builder (3.2.4) - byebug (10.0.2) - coderay (1.1.2) - coffee-rails (4.1.1) - coffee-script (>= 2.2.0) - railties (>= 4.0.0, < 5.1.x) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.12.2) - concurrent-ruby (1.1.6) - crass (1.0.6) - erubis (2.7.0) - execjs (2.7.0) - ffi (1.12.2) - globalid (0.4.2) - activesupport (>= 4.2.0) - i18n (0.9.5) - concurrent-ruby (~> 1.0) - jaro_winkler (1.5.4) - jbuilder (2.9.1) - activesupport (>= 4.2.0) - jquery-rails (4.3.5) - rails-dom-testing (>= 1, < 3) - railties (>= 4.2.0) - thor (>= 0.14, < 2.0) - json (1.8.6) - loofah (2.4.0) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - m (1.5.1) - method_source (>= 0.6.7) - rake (>= 0.9.2.2) - mail (2.7.1) - mini_mime (>= 0.1.1) - method_source (0.9.2) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - minitest (5.14.0) - minitest-reporters (1.4.2) - ansi - builder - minitest (>= 5.0) - ruby-progressbar - mry (0.78.0.0) - rubocop (>= 0.41.0) - nokogiri (1.10.9) - mini_portile2 (~> 2.4.0) - parallel (1.19.1) - parser (2.7.1.0) - ast (~> 2.4.0) - protected_attributes (1.0.9) - activemodel (>= 4.0.1, < 5.0) - pry (0.12.2) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - pry-byebug (3.6.0) - byebug (~> 10.0) - pry (~> 0.10) - rack (1.6.13) - rack-test (0.6.3) - rack (>= 1.0) - rails (4.2.11.1) - actionmailer (= 4.2.11.1) - actionpack (= 4.2.11.1) - actionview (= 4.2.11.1) - activejob (= 4.2.11.1) - activemodel (= 4.2.11.1) - activerecord (= 4.2.11.1) - activesupport (= 4.2.11.1) - bundler (>= 1.3.0, < 2.0) - railties (= 4.2.11.1) - sprockets-rails - rails-deprecated_sanitizer (1.0.3) - activesupport (>= 4.2.0.alpha) - rails-dom-testing (1.0.9) - activesupport (>= 4.2.0, < 5.0) - nokogiri (~> 1.6) - rails-deprecated_sanitizer (>= 1.0.1) - rails-html-sanitizer (1.3.0) - loofah (~> 2.3) - rails-observers (0.1.5) - activemodel (>= 4.0) - railties (4.2.11.1) - actionpack (= 4.2.11.1) - activesupport (= 4.2.11.1) - rake (>= 0.8.7) - thor (>= 0.18.1, < 2.0) - rainbow (3.0.0) - rake (13.0.1) - rb-fsevent (0.10.3) - rb-inotify (0.10.1) - ffi (~> 1.0) - rdoc (4.3.0) - rubocop (0.71.0) - jaro_winkler (~> 1.5.1) - parallel (~> 1.10) - parser (>= 2.6) - rainbow (>= 2.2.2, < 4.0) - ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 1.7) - rubocop-rails (2.0.1) - rack (>= 1.1) - rubocop (>= 0.70.0) - ruby-progressbar (1.10.1) - rubyzip (1.3.0) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.0.7) - railties (>= 4.0.0, < 6) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) - sdoc (0.4.2) - json (~> 1.7, >= 1.7.7) - rdoc (~> 4.0) - shoulda-context (2.0.0) - shoulda-matchers (4.3.0) - activesupport (>= 4.2.0) - snowglobe (0.3.0) - spring (2.1.0) - spring-commands-rspec (1.0.4) - spring (>= 0.9.1) - sprockets (3.7.2) - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.2.1) - actionpack (>= 4.0) - activesupport (>= 4.0) - sprockets (>= 3.0.0) - sqlite3 (1.3.13) - thor (1.0.1) - thread_safe (0.3.6) - tilt (2.0.10) - turbolinks (5.2.1) - turbolinks-source (~> 5.2) - turbolinks-source (5.2.0) - tzinfo (1.2.7) - thread_safe (~> 0.1) - uglifier (4.2.0) - execjs (>= 0.3.0, < 3) - unicode-display_width (1.6.1) - warnings_logger (0.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - activeresource (= 4.0.0) - appraisal (~> 2.1) - bcrypt (~> 3.1.7) - bundler (~> 1.0) - coffee-rails (~> 4.1.0) - jbuilder (~> 2.0) - jquery-rails - json (~> 1.4) - m - minitest (~> 5.0) - minitest-reporters - mry - protected_attributes (~> 1.0.6) - pry (~> 0.12.0) - pry-byebug (~> 3.6.0) - rails (~> 4.2.10) - rubocop (= 0.71.0) - rubocop-rails - rubyzip (~> 1.3.0) - sass-rails (~> 5.0) - sdoc (~> 0.4.0) - shoulda! - snowglobe (>= 0.3.0) - spring - spring-commands-rspec - sqlite3 (~> 1.3.6) - turbolinks - uglifier (>= 1.3.0) - warnings_logger - -BUNDLED WITH - 1.17.3 diff --git a/gemfiles/rails_5_0.gemfile b/gemfiles/rails_5_0.gemfile deleted file mode 100644 index c9ecf2fc..00000000 --- a/gemfiles/rails_5_0.gemfile +++ /dev/null @@ -1,32 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "appraisal", "~> 2.1" -gem "bundler", "~> 1.0" -gem "m" -gem "minitest", "~> 5.0" -gem "minitest-reporters" -gem "mry" -gem "pry", "~> 0.12.0" -gem "pry-byebug", "~> 3.6.0" -gem "rubocop", "0.71.0", require: false -gem "rubocop-rails", require: false -gem "snowglobe", ">= 0.3.0" -gem "warnings_logger" -gem "sqlite3", "~> 1.3.6" -gem "rubyzip", "~> 1.3.0" -gem "spring" -gem "spring-commands-rspec" -gem "rails", "~> 5.0.7" -gem "rails-controller-testing", ">= 1.0.1" -gem "puma", "~> 3.0" -gem "sass-rails", "~> 5.0" -gem "jquery-rails" -gem "turbolinks", "~> 5" -gem "jbuilder", "~> 2.5" -gem "bcrypt", "~> 3.1.7" -gem "listen", "~> 3.0.5" -gem "spring-watcher-listen", "~> 2.0.0" - -gemspec path: "../" diff --git a/gemfiles/rails_5_0.gemfile.lock b/gemfiles/rails_5_0.gemfile.lock deleted file mode 100644 index 6561e010..00000000 --- a/gemfiles/rails_5_0.gemfile.lock +++ /dev/null @@ -1,232 +0,0 @@ -PATH - remote: .. - specs: - shoulda (4.0.0) - shoulda-context (~> 2.0) - shoulda-matchers (~> 4.0) - -GEM - remote: https://rubygems.org/ - specs: - actioncable (5.0.7.2) - actionpack (= 5.0.7.2) - nio4r (>= 1.2, < 3.0) - websocket-driver (~> 0.6.1) - actionmailer (5.0.7.2) - actionpack (= 5.0.7.2) - actionview (= 5.0.7.2) - activejob (= 5.0.7.2) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (5.0.7.2) - actionview (= 5.0.7.2) - activesupport (= 5.0.7.2) - rack (~> 2.0) - rack-test (~> 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.0.7.2) - activesupport (= 5.0.7.2) - builder (~> 3.1) - erubis (~> 2.7.0) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.0.7.2) - activesupport (= 5.0.7.2) - globalid (>= 0.3.6) - activemodel (5.0.7.2) - activesupport (= 5.0.7.2) - activerecord (5.0.7.2) - activemodel (= 5.0.7.2) - activesupport (= 5.0.7.2) - arel (~> 7.0) - activesupport (5.0.7.2) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - ansi (1.5.0) - appraisal (2.2.0) - bundler - rake - thor (>= 0.14.0) - arel (7.1.4) - ast (2.4.0) - bcrypt (3.1.13) - builder (3.2.4) - byebug (10.0.2) - coderay (1.1.2) - concurrent-ruby (1.1.6) - crass (1.0.6) - erubis (2.7.0) - ffi (1.12.2) - globalid (0.4.2) - activesupport (>= 4.2.0) - i18n (1.8.2) - concurrent-ruby (~> 1.0) - jaro_winkler (1.5.4) - jbuilder (2.10.0) - activesupport (>= 5.0.0) - jquery-rails (4.3.5) - rails-dom-testing (>= 1, < 3) - railties (>= 4.2.0) - thor (>= 0.14, < 2.0) - listen (3.0.8) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - loofah (2.4.0) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - m (1.5.1) - method_source (>= 0.6.7) - rake (>= 0.9.2.2) - mail (2.7.1) - mini_mime (>= 0.1.1) - method_source (0.9.2) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - minitest (5.14.0) - minitest-reporters (1.4.2) - ansi - builder - minitest (>= 5.0) - ruby-progressbar - mry (0.78.0.0) - rubocop (>= 0.41.0) - nio4r (2.5.2) - nokogiri (1.10.9) - mini_portile2 (~> 2.4.0) - parallel (1.19.1) - parser (2.7.1.0) - ast (~> 2.4.0) - pry (0.12.2) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - pry-byebug (3.6.0) - byebug (~> 10.0) - pry (~> 0.10) - puma (3.12.4) - rack (2.2.2) - rack-test (0.6.3) - rack (>= 1.0) - rails (5.0.7.2) - actioncable (= 5.0.7.2) - actionmailer (= 5.0.7.2) - actionpack (= 5.0.7.2) - actionview (= 5.0.7.2) - activejob (= 5.0.7.2) - activemodel (= 5.0.7.2) - activerecord (= 5.0.7.2) - activesupport (= 5.0.7.2) - bundler (>= 1.3.0) - railties (= 5.0.7.2) - sprockets-rails (>= 2.0.0) - rails-controller-testing (1.0.4) - actionpack (>= 5.0.1.x) - actionview (>= 5.0.1.x) - activesupport (>= 5.0.1.x) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) - nokogiri (>= 1.6) - rails-html-sanitizer (1.3.0) - loofah (~> 2.3) - railties (5.0.7.2) - actionpack (= 5.0.7.2) - activesupport (= 5.0.7.2) - method_source - rake (>= 0.8.7) - thor (>= 0.18.1, < 2.0) - rainbow (3.0.0) - rake (13.0.1) - rb-fsevent (0.10.3) - rb-inotify (0.10.1) - ffi (~> 1.0) - rubocop (0.71.0) - jaro_winkler (~> 1.5.1) - parallel (~> 1.10) - parser (>= 2.6) - rainbow (>= 2.2.2, < 4.0) - ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 1.7) - rubocop-rails (2.0.1) - rack (>= 1.1) - rubocop (>= 0.70.0) - ruby-progressbar (1.10.1) - rubyzip (1.3.0) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.0.7) - railties (>= 4.0.0, < 6) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) - shoulda-context (2.0.0) - shoulda-matchers (4.3.0) - activesupport (>= 4.2.0) - snowglobe (0.3.0) - spring (2.1.0) - spring-commands-rspec (1.0.4) - spring (>= 0.9.1) - spring-watcher-listen (2.0.1) - listen (>= 2.7, < 4.0) - spring (>= 1.2, < 3.0) - sprockets (3.7.2) - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.2.1) - actionpack (>= 4.0) - activesupport (>= 4.0) - sprockets (>= 3.0.0) - sqlite3 (1.3.13) - thor (1.0.1) - thread_safe (0.3.6) - tilt (2.0.10) - turbolinks (5.2.1) - turbolinks-source (~> 5.2) - turbolinks-source (5.2.0) - tzinfo (1.2.7) - thread_safe (~> 0.1) - unicode-display_width (1.6.1) - warnings_logger (0.1.0) - websocket-driver (0.6.5) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.4) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal (~> 2.1) - bcrypt (~> 3.1.7) - bundler (~> 1.0) - jbuilder (~> 2.5) - jquery-rails - listen (~> 3.0.5) - m - minitest (~> 5.0) - minitest-reporters - mry - pry (~> 0.12.0) - pry-byebug (~> 3.6.0) - puma (~> 3.0) - rails (~> 5.0.7) - rails-controller-testing (>= 1.0.1) - rubocop (= 0.71.0) - rubocop-rails - rubyzip (~> 1.3.0) - sass-rails (~> 5.0) - shoulda! - snowglobe (>= 0.3.0) - spring - spring-commands-rspec - spring-watcher-listen (~> 2.0.0) - sqlite3 (~> 1.3.6) - turbolinks (~> 5) - warnings_logger - -BUNDLED WITH - 1.17.3 diff --git a/gemfiles/rails_5_1.gemfile b/gemfiles/rails_5_1.gemfile deleted file mode 100644 index df605dbf..00000000 --- a/gemfiles/rails_5_1.gemfile +++ /dev/null @@ -1,33 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "appraisal", "~> 2.1" -gem "bundler", "~> 1.0" -gem "m" -gem "minitest", "~> 5.0" -gem "minitest-reporters" -gem "mry" -gem "pry", "~> 0.12.0" -gem "pry-byebug", "~> 3.6.0" -gem "rubocop", "0.71.0", require: false -gem "rubocop-rails", require: false -gem "snowglobe", ">= 0.3.0" -gem "warnings_logger" -gem "sqlite3", "~> 1.3.6" -gem "rubyzip", "~> 1.3.0" -gem "spring" -gem "spring-commands-rspec" -gem "rails", "~> 5.1.6" -gem "rails-controller-testing", ">= 1.0.1" -gem "puma", "~> 3.7" -gem "sass-rails", "~> 5.0" -gem "turbolinks", "~> 5" -gem "jbuilder", "~> 2.5" -gem "bcrypt", "~> 3.1.7" -gem "capybara", "~> 2.13" -gem "selenium-webdriver" -gem "listen", ">= 3.0.5", "< 3.2" -gem "spring-watcher-listen", "~> 2.0.0" - -gemspec path: "../" diff --git a/gemfiles/rails_5_1.gemfile.lock b/gemfiles/rails_5_1.gemfile.lock deleted file mode 100644 index 422da0eb..00000000 --- a/gemfiles/rails_5_1.gemfile.lock +++ /dev/null @@ -1,247 +0,0 @@ -PATH - remote: .. - specs: - shoulda (4.0.0) - shoulda-context (~> 2.0) - shoulda-matchers (~> 4.0) - -GEM - remote: https://rubygems.org/ - specs: - actioncable (5.1.7) - actionpack (= 5.1.7) - nio4r (~> 2.0) - websocket-driver (~> 0.6.1) - actionmailer (5.1.7) - actionpack (= 5.1.7) - actionview (= 5.1.7) - activejob (= 5.1.7) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (5.1.7) - actionview (= 5.1.7) - activesupport (= 5.1.7) - rack (~> 2.0) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.1.7) - activesupport (= 5.1.7) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.1.7) - activesupport (= 5.1.7) - globalid (>= 0.3.6) - activemodel (5.1.7) - activesupport (= 5.1.7) - activerecord (5.1.7) - activemodel (= 5.1.7) - activesupport (= 5.1.7) - arel (~> 8.0) - activesupport (5.1.7) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - addressable (2.7.0) - public_suffix (>= 2.0.2, < 5.0) - ansi (1.5.0) - appraisal (2.2.0) - bundler - rake - thor (>= 0.14.0) - arel (8.0.0) - ast (2.4.0) - bcrypt (3.1.13) - builder (3.2.4) - byebug (10.0.2) - capybara (2.18.0) - addressable - mini_mime (>= 0.1.3) - nokogiri (>= 1.3.3) - rack (>= 1.0.0) - rack-test (>= 0.5.4) - xpath (>= 2.0, < 4.0) - childprocess (3.0.0) - coderay (1.1.2) - concurrent-ruby (1.1.6) - crass (1.0.6) - erubi (1.9.0) - ffi (1.12.2) - globalid (0.4.2) - activesupport (>= 4.2.0) - i18n (1.8.2) - concurrent-ruby (~> 1.0) - jaro_winkler (1.5.4) - jbuilder (2.10.0) - activesupport (>= 5.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) - loofah (2.4.0) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - m (1.5.1) - method_source (>= 0.6.7) - rake (>= 0.9.2.2) - mail (2.7.1) - mini_mime (>= 0.1.1) - method_source (0.9.2) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - minitest (5.14.0) - minitest-reporters (1.4.2) - ansi - builder - minitest (>= 5.0) - ruby-progressbar - mry (0.78.0.0) - rubocop (>= 0.41.0) - nio4r (2.5.2) - nokogiri (1.10.9) - mini_portile2 (~> 2.4.0) - parallel (1.19.1) - parser (2.7.1.0) - ast (~> 2.4.0) - pry (0.12.2) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - pry-byebug (3.6.0) - byebug (~> 10.0) - pry (~> 0.10) - public_suffix (4.0.3) - puma (3.12.4) - rack (2.2.2) - rack-test (1.1.0) - rack (>= 1.0, < 3) - rails (5.1.7) - actioncable (= 5.1.7) - actionmailer (= 5.1.7) - actionpack (= 5.1.7) - actionview (= 5.1.7) - activejob (= 5.1.7) - activemodel (= 5.1.7) - activerecord (= 5.1.7) - activesupport (= 5.1.7) - bundler (>= 1.3.0) - railties (= 5.1.7) - sprockets-rails (>= 2.0.0) - rails-controller-testing (1.0.4) - actionpack (>= 5.0.1.x) - actionview (>= 5.0.1.x) - activesupport (>= 5.0.1.x) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) - nokogiri (>= 1.6) - rails-html-sanitizer (1.3.0) - loofah (~> 2.3) - railties (5.1.7) - actionpack (= 5.1.7) - activesupport (= 5.1.7) - method_source - rake (>= 0.8.7) - thor (>= 0.18.1, < 2.0) - rainbow (3.0.0) - rake (13.0.1) - rb-fsevent (0.10.3) - rb-inotify (0.10.1) - ffi (~> 1.0) - rubocop (0.71.0) - jaro_winkler (~> 1.5.1) - parallel (~> 1.10) - parser (>= 2.6) - rainbow (>= 2.2.2, < 4.0) - ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 1.7) - rubocop-rails (2.0.1) - rack (>= 1.1) - rubocop (>= 0.70.0) - ruby-progressbar (1.10.1) - ruby_dep (1.5.0) - rubyzip (1.3.0) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.0.7) - railties (>= 4.0.0, < 6) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) - selenium-webdriver (3.142.7) - childprocess (>= 0.5, < 4.0) - rubyzip (>= 1.2.2) - shoulda-context (2.0.0) - shoulda-matchers (4.3.0) - activesupport (>= 4.2.0) - snowglobe (0.3.0) - spring (2.1.0) - spring-commands-rspec (1.0.4) - spring (>= 0.9.1) - spring-watcher-listen (2.0.1) - listen (>= 2.7, < 4.0) - spring (>= 1.2, < 3.0) - sprockets (3.7.2) - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.2.1) - actionpack (>= 4.0) - activesupport (>= 4.0) - sprockets (>= 3.0.0) - sqlite3 (1.3.13) - thor (1.0.1) - thread_safe (0.3.6) - tilt (2.0.10) - turbolinks (5.2.1) - turbolinks-source (~> 5.2) - turbolinks-source (5.2.0) - tzinfo (1.2.7) - thread_safe (~> 0.1) - unicode-display_width (1.6.1) - warnings_logger (0.1.0) - websocket-driver (0.6.5) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.4) - xpath (3.2.0) - nokogiri (~> 1.8) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal (~> 2.1) - bcrypt (~> 3.1.7) - bundler (~> 1.0) - capybara (~> 2.13) - jbuilder (~> 2.5) - listen (>= 3.0.5, < 3.2) - m - minitest (~> 5.0) - minitest-reporters - mry - pry (~> 0.12.0) - pry-byebug (~> 3.6.0) - puma (~> 3.7) - rails (~> 5.1.6) - rails-controller-testing (>= 1.0.1) - rubocop (= 0.71.0) - rubocop-rails - rubyzip (~> 1.3.0) - sass-rails (~> 5.0) - selenium-webdriver - shoulda! - snowglobe (>= 0.3.0) - spring - spring-commands-rspec - spring-watcher-listen (~> 2.0.0) - sqlite3 (~> 1.3.6) - turbolinks (~> 5) - warnings_logger - -BUNDLED WITH - 1.17.3 diff --git a/gemfiles/rails_5_2.gemfile b/gemfiles/rails_5_2.gemfile deleted file mode 100644 index e41cfcd2..00000000 --- a/gemfiles/rails_5_2.gemfile +++ /dev/null @@ -1,35 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "appraisal", "~> 2.1" -gem "bundler", "~> 1.0" -gem "m" -gem "minitest", "~> 5.0" -gem "minitest-reporters" -gem "mry" -gem "pry", "~> 0.12.0" -gem "pry-byebug", "~> 3.6.0" -gem "rubocop", "0.71.0", require: false -gem "rubocop-rails", require: false -gem "snowglobe", ">= 0.3.0" -gem "warnings_logger" -gem "sqlite3", "~> 1.3.6" -gem "rubyzip", "~> 1.3.0" -gem "spring" -gem "spring-commands-rspec" -gem "rails", "~> 5.2.2" -gem "rails-controller-testing", ">= 1.0.1" -gem "puma", "~> 3.11" -gem "bootsnap", ">= 1.1.0", require: false -gem "sass-rails", "~> 5.0" -gem "turbolinks", "~> 5" -gem "jbuilder", "~> 2.5" -gem "bcrypt", "~> 3.1.7" -gem "capybara", "~> 3.1.1" -gem "selenium-webdriver" -gem "chromedriver-helper" -gem "listen", ">= 3.0.5", "< 3.2" -gem "spring-watcher-listen", "~> 2.0.0" - -gemspec path: "../" diff --git a/gemfiles/rails_5_2.gemfile.lock b/gemfiles/rails_5_2.gemfile.lock deleted file mode 100644 index e02e28b1..00000000 --- a/gemfiles/rails_5_2.gemfile.lock +++ /dev/null @@ -1,266 +0,0 @@ -PATH - remote: .. - specs: - shoulda (4.0.0) - shoulda-context (~> 2.0) - shoulda-matchers (~> 4.0) - -GEM - remote: https://rubygems.org/ - specs: - actioncable (5.2.4.2) - actionpack (= 5.2.4.2) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailer (5.2.4.2) - actionpack (= 5.2.4.2) - actionview (= 5.2.4.2) - activejob (= 5.2.4.2) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (5.2.4.2) - actionview (= 5.2.4.2) - activesupport (= 5.2.4.2) - rack (~> 2.0, >= 2.0.8) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.2.4.2) - activesupport (= 5.2.4.2) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.2.4.2) - activesupport (= 5.2.4.2) - globalid (>= 0.3.6) - activemodel (5.2.4.2) - activesupport (= 5.2.4.2) - activerecord (5.2.4.2) - activemodel (= 5.2.4.2) - activesupport (= 5.2.4.2) - arel (>= 9.0) - activestorage (5.2.4.2) - actionpack (= 5.2.4.2) - activerecord (= 5.2.4.2) - marcel (~> 0.3.1) - activesupport (5.2.4.2) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - addressable (2.7.0) - public_suffix (>= 2.0.2, < 5.0) - ansi (1.5.0) - appraisal (2.2.0) - bundler - rake - thor (>= 0.14.0) - archive-zip (0.12.0) - io-like (~> 0.3.0) - arel (9.0.0) - ast (2.4.0) - bcrypt (3.1.13) - bootsnap (1.4.6) - msgpack (~> 1.0) - builder (3.2.4) - byebug (10.0.2) - capybara (3.1.1) - addressable - mini_mime (>= 0.1.3) - nokogiri (~> 1.8) - rack (>= 1.6.0) - rack-test (>= 0.6.3) - xpath (~> 3.0) - childprocess (3.0.0) - chromedriver-helper (2.1.1) - archive-zip (~> 0.10) - nokogiri (~> 1.8) - coderay (1.1.2) - concurrent-ruby (1.1.6) - crass (1.0.6) - erubi (1.9.0) - ffi (1.12.2) - globalid (0.4.2) - activesupport (>= 4.2.0) - i18n (1.8.2) - concurrent-ruby (~> 1.0) - io-like (0.3.1) - jaro_winkler (1.5.4) - jbuilder (2.10.0) - activesupport (>= 5.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) - loofah (2.4.0) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - m (1.5.1) - method_source (>= 0.6.7) - rake (>= 0.9.2.2) - mail (2.7.1) - mini_mime (>= 0.1.1) - marcel (0.3.3) - mimemagic (~> 0.3.2) - method_source (0.9.2) - mimemagic (0.3.4) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - minitest (5.14.0) - minitest-reporters (1.4.2) - ansi - builder - minitest (>= 5.0) - ruby-progressbar - mry (0.78.0.0) - rubocop (>= 0.41.0) - msgpack (1.3.3) - nio4r (2.5.2) - nokogiri (1.10.9) - mini_portile2 (~> 2.4.0) - parallel (1.19.1) - parser (2.7.1.0) - ast (~> 2.4.0) - pry (0.12.2) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - pry-byebug (3.6.0) - byebug (~> 10.0) - pry (~> 0.10) - public_suffix (4.0.3) - puma (3.12.4) - rack (2.2.2) - rack-test (1.1.0) - rack (>= 1.0, < 3) - rails (5.2.4.2) - actioncable (= 5.2.4.2) - actionmailer (= 5.2.4.2) - actionpack (= 5.2.4.2) - actionview (= 5.2.4.2) - activejob (= 5.2.4.2) - activemodel (= 5.2.4.2) - activerecord (= 5.2.4.2) - activestorage (= 5.2.4.2) - activesupport (= 5.2.4.2) - bundler (>= 1.3.0) - railties (= 5.2.4.2) - sprockets-rails (>= 2.0.0) - rails-controller-testing (1.0.4) - actionpack (>= 5.0.1.x) - actionview (>= 5.0.1.x) - activesupport (>= 5.0.1.x) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) - nokogiri (>= 1.6) - rails-html-sanitizer (1.3.0) - loofah (~> 2.3) - railties (5.2.4.2) - actionpack (= 5.2.4.2) - activesupport (= 5.2.4.2) - method_source - rake (>= 0.8.7) - thor (>= 0.19.0, < 2.0) - rainbow (3.0.0) - rake (13.0.1) - rb-fsevent (0.10.3) - rb-inotify (0.10.1) - ffi (~> 1.0) - rubocop (0.71.0) - jaro_winkler (~> 1.5.1) - parallel (~> 1.10) - parser (>= 2.6) - rainbow (>= 2.2.2, < 4.0) - ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 1.7) - rubocop-rails (2.0.1) - rack (>= 1.1) - rubocop (>= 0.70.0) - ruby-progressbar (1.10.1) - ruby_dep (1.5.0) - rubyzip (1.3.0) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.1.0) - railties (>= 5.2.0) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) - selenium-webdriver (3.142.7) - childprocess (>= 0.5, < 4.0) - rubyzip (>= 1.2.2) - shoulda-context (2.0.0) - shoulda-matchers (4.3.0) - activesupport (>= 4.2.0) - snowglobe (0.3.0) - spring (2.1.0) - spring-commands-rspec (1.0.4) - spring (>= 0.9.1) - spring-watcher-listen (2.0.1) - listen (>= 2.7, < 4.0) - spring (>= 1.2, < 3.0) - sprockets (3.7.2) - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.2.1) - actionpack (>= 4.0) - activesupport (>= 4.0) - sprockets (>= 3.0.0) - sqlite3 (1.3.13) - thor (1.0.1) - thread_safe (0.3.6) - tilt (2.0.10) - turbolinks (5.2.1) - turbolinks-source (~> 5.2) - turbolinks-source (5.2.0) - tzinfo (1.2.7) - thread_safe (~> 0.1) - unicode-display_width (1.6.1) - warnings_logger (0.1.0) - websocket-driver (0.7.1) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.4) - xpath (3.2.0) - nokogiri (~> 1.8) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal (~> 2.1) - bcrypt (~> 3.1.7) - bootsnap (>= 1.1.0) - bundler (~> 1.0) - capybara (~> 3.1.1) - chromedriver-helper - jbuilder (~> 2.5) - listen (>= 3.0.5, < 3.2) - m - minitest (~> 5.0) - minitest-reporters - mry - pry (~> 0.12.0) - pry-byebug (~> 3.6.0) - puma (~> 3.11) - rails (~> 5.2.2) - rails-controller-testing (>= 1.0.1) - rubocop (= 0.71.0) - rubocop-rails - rubyzip (~> 1.3.0) - sass-rails (~> 5.0) - selenium-webdriver - shoulda! - snowglobe (>= 0.3.0) - spring - spring-commands-rspec - spring-watcher-listen (~> 2.0.0) - sqlite3 (~> 1.3.6) - turbolinks (~> 5) - warnings_logger - -BUNDLED WITH - 1.17.3 diff --git a/gemfiles/rails_6_0.gemfile b/gemfiles/rails_6_0.gemfile deleted file mode 100644 index f6433216..00000000 --- a/gemfiles/rails_6_0.gemfile +++ /dev/null @@ -1,37 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "appraisal", "~> 2.1" -gem "bundler", "~> 1.0" -gem "m" -gem "minitest", "~> 5.0" -gem "minitest-reporters" -gem "mry" -gem "pry", "~> 0.12.0" -gem "pry-byebug", "~> 3.6.0" -gem "rubocop", "0.71.0", require: false -gem "rubocop-rails", require: false -gem "snowglobe", ">= 0.3.0" -gem "warnings_logger" -gem "sqlite3", "~> 1.4.0" -gem "rubyzip", "~> 1.3.0" -gem "spring" -gem "spring-commands-rspec" -gem "rails", "~> 6.0.2" -gem "puma", "~> 4.1" -gem "sass-rails", ">= 6" -gem "webpacker", "~> 4.0" -gem "turbolinks", "~> 5" -gem "jbuilder", "~> 2.7" -gem "bcrypt", "~> 3.1.7" -gem "bootsnap", ">= 1.4.2", require: false -gem "listen", ">= 3.0.5", "< 3.2" -gem "spring-watcher-listen", "~> 2.0.0" -gem "capybara", ">= 2.15" -gem "selenium-webdriver" -gem "webdrivers" -gem "rails-controller-testing", ">= 1.0.4" -gem "pg", "~> 1.1", platform: :ruby - -gemspec path: "../" diff --git a/gemfiles/rails_6_0.gemfile.lock b/gemfiles/rails_6_0.gemfile.lock deleted file mode 100644 index 9a1b91f2..00000000 --- a/gemfiles/rails_6_0.gemfile.lock +++ /dev/null @@ -1,291 +0,0 @@ -PATH - remote: .. - specs: - shoulda (4.0.0) - shoulda-context (~> 2.0) - shoulda-matchers (~> 4.0) - -GEM - remote: https://rubygems.org/ - specs: - actioncable (6.0.2.2) - actionpack (= 6.0.2.2) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailbox (6.0.2.2) - actionpack (= 6.0.2.2) - activejob (= 6.0.2.2) - activerecord (= 6.0.2.2) - activestorage (= 6.0.2.2) - activesupport (= 6.0.2.2) - mail (>= 2.7.1) - actionmailer (6.0.2.2) - actionpack (= 6.0.2.2) - actionview (= 6.0.2.2) - activejob (= 6.0.2.2) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (6.0.2.2) - actionview (= 6.0.2.2) - activesupport (= 6.0.2.2) - rack (~> 2.0, >= 2.0.8) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.0.2.2) - actionpack (= 6.0.2.2) - activerecord (= 6.0.2.2) - activestorage (= 6.0.2.2) - activesupport (= 6.0.2.2) - nokogiri (>= 1.8.5) - actionview (6.0.2.2) - activesupport (= 6.0.2.2) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.0.2.2) - activesupport (= 6.0.2.2) - globalid (>= 0.3.6) - activemodel (6.0.2.2) - activesupport (= 6.0.2.2) - activerecord (6.0.2.2) - activemodel (= 6.0.2.2) - activesupport (= 6.0.2.2) - activestorage (6.0.2.2) - actionpack (= 6.0.2.2) - activejob (= 6.0.2.2) - activerecord (= 6.0.2.2) - marcel (~> 0.3.1) - activesupport (6.0.2.2) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2) - addressable (2.7.0) - public_suffix (>= 2.0.2, < 5.0) - ansi (1.5.0) - appraisal (2.2.0) - bundler - rake - thor (>= 0.14.0) - ast (2.4.0) - bcrypt (3.1.13) - bootsnap (1.4.6) - msgpack (~> 1.0) - builder (3.2.4) - byebug (10.0.2) - capybara (3.32.0) - addressable - mini_mime (>= 0.1.3) - nokogiri (~> 1.8) - rack (>= 1.6.0) - rack-test (>= 0.6.3) - regexp_parser (~> 1.5) - xpath (~> 3.2) - childprocess (3.0.0) - coderay (1.1.2) - concurrent-ruby (1.1.6) - crass (1.0.6) - erubi (1.9.0) - ffi (1.12.2) - globalid (0.4.2) - activesupport (>= 4.2.0) - i18n (1.8.2) - concurrent-ruby (~> 1.0) - jaro_winkler (1.5.4) - jbuilder (2.10.0) - activesupport (>= 5.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) - loofah (2.4.0) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - m (1.5.1) - method_source (>= 0.6.7) - rake (>= 0.9.2.2) - mail (2.7.1) - mini_mime (>= 0.1.1) - marcel (0.3.3) - mimemagic (~> 0.3.2) - method_source (0.9.2) - mimemagic (0.3.4) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - minitest (5.14.0) - minitest-reporters (1.4.2) - ansi - builder - minitest (>= 5.0) - ruby-progressbar - mry (0.78.0.0) - rubocop (>= 0.41.0) - msgpack (1.3.3) - nio4r (2.5.2) - nokogiri (1.10.9) - mini_portile2 (~> 2.4.0) - parallel (1.19.1) - parser (2.7.1.0) - ast (~> 2.4.0) - pg (1.2.3) - pry (0.12.2) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - pry-byebug (3.6.0) - byebug (~> 10.0) - pry (~> 0.10) - public_suffix (4.0.3) - puma (4.3.3) - nio4r (~> 2.0) - rack (2.2.2) - rack-proxy (0.6.5) - rack - rack-test (1.1.0) - rack (>= 1.0, < 3) - rails (6.0.2.2) - actioncable (= 6.0.2.2) - actionmailbox (= 6.0.2.2) - actionmailer (= 6.0.2.2) - actionpack (= 6.0.2.2) - actiontext (= 6.0.2.2) - actionview (= 6.0.2.2) - activejob (= 6.0.2.2) - activemodel (= 6.0.2.2) - activerecord (= 6.0.2.2) - activestorage (= 6.0.2.2) - activesupport (= 6.0.2.2) - bundler (>= 1.3.0) - railties (= 6.0.2.2) - sprockets-rails (>= 2.0.0) - rails-controller-testing (1.0.4) - actionpack (>= 5.0.1.x) - actionview (>= 5.0.1.x) - activesupport (>= 5.0.1.x) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) - nokogiri (>= 1.6) - rails-html-sanitizer (1.3.0) - loofah (~> 2.3) - railties (6.0.2.2) - actionpack (= 6.0.2.2) - activesupport (= 6.0.2.2) - method_source - rake (>= 0.8.7) - thor (>= 0.20.3, < 2.0) - rainbow (3.0.0) - rake (13.0.1) - rb-fsevent (0.10.3) - rb-inotify (0.10.1) - ffi (~> 1.0) - regexp_parser (1.7.0) - rubocop (0.71.0) - jaro_winkler (~> 1.5.1) - parallel (~> 1.10) - parser (>= 2.6) - rainbow (>= 2.2.2, < 4.0) - ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 1.7) - rubocop-rails (2.0.1) - rack (>= 1.1) - rubocop (>= 0.70.0) - ruby-progressbar (1.10.1) - ruby_dep (1.5.0) - rubyzip (1.3.0) - sass-rails (6.0.0) - sassc-rails (~> 2.1, >= 2.1.1) - sassc (2.2.1) - ffi (~> 1.9) - sassc-rails (2.1.2) - railties (>= 4.0.0) - sassc (>= 2.0) - sprockets (> 3.0) - sprockets-rails - tilt - selenium-webdriver (3.142.7) - childprocess (>= 0.5, < 4.0) - rubyzip (>= 1.2.2) - shoulda-context (2.0.0) - shoulda-matchers (4.3.0) - activesupport (>= 4.2.0) - snowglobe (0.3.0) - spring (2.1.0) - spring-commands-rspec (1.0.4) - spring (>= 0.9.1) - spring-watcher-listen (2.0.1) - listen (>= 2.7, < 4.0) - spring (>= 1.2, < 3.0) - sprockets (4.0.0) - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.2.1) - actionpack (>= 4.0) - activesupport (>= 4.0) - sprockets (>= 3.0.0) - sqlite3 (1.4.2) - thor (1.0.1) - thread_safe (0.3.6) - tilt (2.0.10) - turbolinks (5.2.1) - turbolinks-source (~> 5.2) - turbolinks-source (5.2.0) - tzinfo (1.2.7) - thread_safe (~> 0.1) - unicode-display_width (1.6.1) - warnings_logger (0.1.0) - webdrivers (4.2.0) - nokogiri (~> 1.6) - rubyzip (>= 1.3.0) - selenium-webdriver (>= 3.0, < 4.0) - webpacker (4.2.2) - activesupport (>= 4.2) - rack-proxy (>= 0.6.1) - railties (>= 4.2) - websocket-driver (0.7.1) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.4) - xpath (3.2.0) - nokogiri (~> 1.8) - zeitwerk (2.3.0) - -PLATFORMS - ruby - -DEPENDENCIES - appraisal (~> 2.1) - bcrypt (~> 3.1.7) - bootsnap (>= 1.4.2) - bundler (~> 1.0) - capybara (>= 2.15) - jbuilder (~> 2.7) - listen (>= 3.0.5, < 3.2) - m - minitest (~> 5.0) - minitest-reporters - mry - pg (~> 1.1) - pry (~> 0.12.0) - pry-byebug (~> 3.6.0) - puma (~> 4.1) - rails (~> 6.0.2) - rails-controller-testing (>= 1.0.4) - rubocop (= 0.71.0) - rubocop-rails - rubyzip (~> 1.3.0) - sass-rails (>= 6) - selenium-webdriver - shoulda! - snowglobe (>= 0.3.0) - spring - spring-commands-rspec - spring-watcher-listen (~> 2.0.0) - sqlite3 (~> 1.4.0) - turbolinks (~> 5) - warnings_logger - webdrivers - webpacker (~> 4.0) - -BUNDLED WITH - 1.17.3 diff --git a/gemfiles/rails_6_1.gemfile b/gemfiles/rails_6_1.gemfile new file mode 100644 index 00000000..9f4ba6a1 --- /dev/null +++ b/gemfiles/rails_6_1.gemfile @@ -0,0 +1,40 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "m" +gem "minitest", "~> 5.0" +gem "minitest-reporters", "~> 1.0" +gem "pry" +gem "pry-byebug" +gem "rake", "13.0.1" +gem "rspec", "~> 3.9" +gem "rubocop", require: false +gem "rubocop-packaging", require: false +gem "rubocop-rails", require: false +gem "snowglobe", github: "mcmire/snowglobe", ref: "408ee4c08f823a4d9f89902fa0fa29aff7cafe6d" +gem "warnings_logger" +gem "spring" +gem "spring-watcher-listen", "~> 2.0.0" +gem "rails-controller-testing", ">= 1.0.1" +gem "rails", "6.1.7.2" +gem "puma", "~> 5.0" +gem "sass-rails", ">= 6" +gem "turbolinks", "~> 5" +gem "jbuilder", "~> 2.7" +gem "bcrypt", "~> 3.1.7" +gem "bootsnap", ">= 1.4.4", require: false +gem "rack-mini-profiler", "~> 2.0.0" +gem "listen", "~> 3.3" +gem "capybara", ">= 3.26" +gem "selenium-webdriver", ">= 4.0.0.rc1" +gem "webdrivers" +gem "net-smtp", require: false +gem "psych", "~> 3.0" +gem "rspec-rails", "~> 6.0" +gem "shoulda-context", "~> 2.0.0" +gem "pg", ">= 0.18", "< 2.0" +gem "sqlite3", "~> 1.4" + +gemspec path: "../" diff --git a/gemfiles/rails_6_1.gemfile.lock b/gemfiles/rails_6_1.gemfile.lock new file mode 100644 index 00000000..67b29a7c --- /dev/null +++ b/gemfiles/rails_6_1.gemfile.lock @@ -0,0 +1,341 @@ +GIT + remote: https://github.com/mcmire/snowglobe.git + revision: 408ee4c08f823a4d9f89902fa0fa29aff7cafe6d + ref: 408ee4c08f823a4d9f89902fa0fa29aff7cafe6d + specs: + snowglobe (0.3.0) + +PATH + remote: .. + specs: + shoulda (4.0.0) + shoulda-context (~> 2.0) + shoulda-matchers (~> 5.0) + +GEM + remote: https://rubygems.org/ + specs: + actioncable (6.1.7.2) + actionpack (= 6.1.7.2) + activesupport (= 6.1.7.2) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.1.7.2) + actionpack (= 6.1.7.2) + activejob (= 6.1.7.2) + activerecord (= 6.1.7.2) + activestorage (= 6.1.7.2) + activesupport (= 6.1.7.2) + mail (>= 2.7.1) + actionmailer (6.1.7.2) + actionpack (= 6.1.7.2) + actionview (= 6.1.7.2) + activejob (= 6.1.7.2) + activesupport (= 6.1.7.2) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.1.7.2) + actionview (= 6.1.7.2) + activesupport (= 6.1.7.2) + rack (~> 2.0, >= 2.0.9) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (6.1.7.2) + actionpack (= 6.1.7.2) + activerecord (= 6.1.7.2) + activestorage (= 6.1.7.2) + activesupport (= 6.1.7.2) + nokogiri (>= 1.8.5) + actionview (6.1.7.2) + activesupport (= 6.1.7.2) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (6.1.7.2) + activesupport (= 6.1.7.2) + globalid (>= 0.3.6) + activemodel (6.1.7.2) + activesupport (= 6.1.7.2) + activerecord (6.1.7.2) + activemodel (= 6.1.7.2) + activesupport (= 6.1.7.2) + activestorage (6.1.7.2) + actionpack (= 6.1.7.2) + activejob (= 6.1.7.2) + activerecord (= 6.1.7.2) + activesupport (= 6.1.7.2) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (6.1.7.2) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) + ansi (1.5.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + bcrypt (3.1.18) + bootsnap (1.16.0) + msgpack (~> 1.2) + builder (3.2.4) + byebug (11.1.3) + capybara (3.38.0) + addressable + matrix + mini_mime (>= 0.1.3) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (>= 1.5, < 3.0) + xpath (~> 3.2) + coderay (1.1.3) + concurrent-ruby (1.2.2) + crass (1.0.6) + date (3.3.3) + diff-lcs (1.5.0) + erubi (1.12.0) + ffi (1.15.5) + globalid (1.1.0) + activesupport (>= 5.0) + i18n (1.12.0) + concurrent-ruby (~> 1.0) + jbuilder (2.11.5) + actionview (>= 5.0.0) + activesupport (>= 5.0.0) + json (2.6.3) + listen (3.8.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + loofah (2.19.1) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + m (1.6.1) + method_source (>= 0.6.7) + rake (>= 0.9.2.2) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + matrix (0.4.2) + method_source (1.0.0) + mini_mime (1.1.2) + minitest (5.18.0) + minitest-reporters (1.6.0) + ansi + builder + minitest (>= 5.0) + ruby-progressbar + msgpack (1.6.1) + net-imap (0.3.4) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.1) + timeout + net-smtp (0.3.3) + net-protocol + nio4r (2.5.8) + nokogiri (1.14.2-arm64-darwin) + racc (~> 1.4) + parallel (1.22.1) + parser (3.2.1.1) + ast (~> 2.4.1) + pg (1.4.6) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.10.1) + byebug (~> 11.0) + pry (>= 0.13, < 0.15) + psych (3.3.4) + public_suffix (5.0.1) + puma (5.6.5) + nio4r (~> 2.0) + racc (1.6.2) + rack (2.2.6.4) + rack-mini-profiler (2.0.4) + rack (>= 1.2.0) + rack-test (2.1.0) + rack (>= 1.3) + rails (6.1.7.2) + actioncable (= 6.1.7.2) + actionmailbox (= 6.1.7.2) + actionmailer (= 6.1.7.2) + actionpack (= 6.1.7.2) + actiontext (= 6.1.7.2) + actionview (= 6.1.7.2) + activejob (= 6.1.7.2) + activemodel (= 6.1.7.2) + activerecord (= 6.1.7.2) + activestorage (= 6.1.7.2) + activesupport (= 6.1.7.2) + bundler (>= 1.15.0) + railties (= 6.1.7.2) + sprockets-rails (>= 2.0.0) + rails-controller-testing (1.0.5) + actionpack (>= 5.0.1.rc1) + actionview (>= 5.0.1.rc1) + activesupport (>= 5.0.1.rc1) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.5.0) + loofah (~> 2.19, >= 2.19.1) + railties (6.1.7.2) + actionpack (= 6.1.7.2) + activesupport (= 6.1.7.2) + method_source + rake (>= 12.2) + thor (~> 1.0) + rainbow (3.1.1) + rake (13.0.1) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + regexp_parser (2.7.0) + rexml (3.2.5) + rspec (3.12.0) + rspec-core (~> 3.12.0) + rspec-expectations (~> 3.12.0) + rspec-mocks (~> 3.12.0) + rspec-core (3.12.1) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-mocks (3.12.4) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-rails (6.0.1) + actionpack (>= 6.1) + activesupport (>= 6.1) + railties (>= 6.1) + rspec-core (~> 3.11) + rspec-expectations (~> 3.11) + rspec-mocks (~> 3.11) + rspec-support (~> 3.11) + rspec-support (3.12.0) + rubocop (1.48.1) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.26.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.27.0) + parser (>= 3.2.1.0) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-rails (2.18.0) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.33.0, < 2.0) + ruby-progressbar (1.13.0) + rubyzip (2.3.2) + sass-rails (6.0.0) + sassc-rails (~> 2.1, >= 2.1.1) + sassc (2.4.0) + ffi (~> 1.9) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt + selenium-webdriver (4.8.1) + rexml (~> 3.2, >= 3.2.5) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) + shoulda-context (2.0.0) + shoulda-matchers (5.3.0) + activesupport (>= 5.2.0) + spring (2.1.1) + spring-watcher-listen (2.0.1) + listen (>= 2.7, < 4.0) + spring (>= 1.2, < 3.0) + sprockets (4.2.0) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + sqlite3 (1.6.1-arm64-darwin) + thor (1.2.1) + tilt (2.1.0) + timeout (0.3.2) + turbolinks (5.2.1) + turbolinks-source (~> 5.2) + turbolinks-source (5.2.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.4.2) + warnings_logger (0.1.1) + webdrivers (5.2.0) + nokogiri (~> 1.6) + rubyzip (>= 1.3.0) + selenium-webdriver (~> 4.0) + websocket (1.2.9) + websocket-driver (0.7.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + xpath (3.2.0) + nokogiri (~> 1.8) + zeitwerk (2.6.7) + +PLATFORMS + arm64-darwin-22 + +DEPENDENCIES + appraisal + bcrypt (~> 3.1.7) + bootsnap (>= 1.4.4) + capybara (>= 3.26) + jbuilder (~> 2.7) + listen (~> 3.3) + m + minitest (~> 5.0) + minitest-reporters (~> 1.0) + net-smtp + pg (>= 0.18, < 2.0) + pry + pry-byebug + psych (~> 3.0) + puma (~> 5.0) + rack-mini-profiler (~> 2.0.0) + rails (= 6.1.7.2) + rails-controller-testing (>= 1.0.1) + rake (= 13.0.1) + rspec (~> 3.9) + rspec-rails (~> 6.0) + rubocop + rubocop-packaging + rubocop-rails + sass-rails (>= 6) + selenium-webdriver (>= 4.0.0.rc1) + shoulda! + shoulda-context (~> 2.0.0) + snowglobe! + spring + spring-watcher-listen (~> 2.0.0) + sqlite3 (~> 1.4) + turbolinks (~> 5) + warnings_logger + webdrivers + +BUNDLED WITH + 2.4.9 diff --git a/gemfiles/rails_7_0.gemfile b/gemfiles/rails_7_0.gemfile new file mode 100644 index 00000000..5306fd30 --- /dev/null +++ b/gemfiles/rails_7_0.gemfile @@ -0,0 +1,38 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "m" +gem "minitest", "~> 5.0" +gem "minitest-reporters", "~> 1.0" +gem "pry" +gem "pry-byebug" +gem "rake", "13.0.1" +gem "rspec", "~> 3.9" +gem "rubocop", require: false +gem "rubocop-packaging", require: false +gem "rubocop-rails", require: false +gem "snowglobe", github: "mcmire/snowglobe", ref: "408ee4c08f823a4d9f89902fa0fa29aff7cafe6d" +gem "warnings_logger" +gem "spring" +gem "spring-watcher-listen", "~> 2.0.0" +gem "rails-controller-testing", ">= 1.0.1" +gem "rails", "7.0.4.2" +gem "sprockets-rails" +gem "puma", "~> 5.0" +gem "importmap-rails" +gem "turbo-rails" +gem "stimulus-rails" +gem "jbuilder" +gem "bootsnap", require: false +gem "capybara" +gem "selenium-webdriver" +gem "webdrivers" +gem "rspec-rails", "~> 6.0" +gem "shoulda-context", "~> 2.0.0" +gem "bcrypt", "~> 3.1.7" +gem "sqlite3", "~> 1.4" +gem "pg", "~> 1.1" + +gemspec path: "../" diff --git a/gemfiles/rails_7_0.gemfile.lock b/gemfiles/rails_7_0.gemfile.lock new file mode 100644 index 00000000..1a6b17be --- /dev/null +++ b/gemfiles/rails_7_0.gemfile.lock @@ -0,0 +1,337 @@ +GIT + remote: https://github.com/mcmire/snowglobe.git + revision: 408ee4c08f823a4d9f89902fa0fa29aff7cafe6d + ref: 408ee4c08f823a4d9f89902fa0fa29aff7cafe6d + specs: + snowglobe (0.3.0) + +PATH + remote: .. + specs: + shoulda (4.0.0) + shoulda-context (~> 2.0) + shoulda-matchers (~> 5.0) + +GEM + remote: https://rubygems.org/ + specs: + actioncable (7.0.4.2) + actionpack (= 7.0.4.2) + activesupport (= 7.0.4.2) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (7.0.4.2) + actionpack (= 7.0.4.2) + activejob (= 7.0.4.2) + activerecord (= 7.0.4.2) + activestorage (= 7.0.4.2) + activesupport (= 7.0.4.2) + mail (>= 2.7.1) + net-imap + net-pop + net-smtp + actionmailer (7.0.4.2) + actionpack (= 7.0.4.2) + actionview (= 7.0.4.2) + activejob (= 7.0.4.2) + activesupport (= 7.0.4.2) + mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp + rails-dom-testing (~> 2.0) + actionpack (7.0.4.2) + actionview (= 7.0.4.2) + activesupport (= 7.0.4.2) + rack (~> 2.0, >= 2.2.0) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (7.0.4.2) + actionpack (= 7.0.4.2) + activerecord (= 7.0.4.2) + activestorage (= 7.0.4.2) + activesupport (= 7.0.4.2) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.0.4.2) + activesupport (= 7.0.4.2) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (7.0.4.2) + activesupport (= 7.0.4.2) + globalid (>= 0.3.6) + activemodel (7.0.4.2) + activesupport (= 7.0.4.2) + activerecord (7.0.4.2) + activemodel (= 7.0.4.2) + activesupport (= 7.0.4.2) + activestorage (7.0.4.2) + actionpack (= 7.0.4.2) + activejob (= 7.0.4.2) + activerecord (= 7.0.4.2) + activesupport (= 7.0.4.2) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (7.0.4.2) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) + ansi (1.5.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + bcrypt (3.1.18) + bootsnap (1.16.0) + msgpack (~> 1.2) + builder (3.2.4) + byebug (11.1.3) + capybara (3.38.0) + addressable + matrix + mini_mime (>= 0.1.3) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (>= 1.5, < 3.0) + xpath (~> 3.2) + coderay (1.1.3) + concurrent-ruby (1.2.2) + crass (1.0.6) + date (3.3.3) + diff-lcs (1.5.0) + erubi (1.12.0) + ffi (1.15.5) + globalid (1.1.0) + activesupport (>= 5.0) + i18n (1.12.0) + concurrent-ruby (~> 1.0) + importmap-rails (1.1.5) + actionpack (>= 6.0.0) + railties (>= 6.0.0) + jbuilder (2.11.5) + actionview (>= 5.0.0) + activesupport (>= 5.0.0) + json (2.6.3) + listen (3.8.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + loofah (2.19.1) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + m (1.6.1) + method_source (>= 0.6.7) + rake (>= 0.9.2.2) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.2) + matrix (0.4.2) + method_source (1.0.0) + mini_mime (1.1.2) + minitest (5.18.0) + minitest-reporters (1.6.0) + ansi + builder + minitest (>= 5.0) + ruby-progressbar + msgpack (1.6.1) + net-imap (0.3.4) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.1) + timeout + net-smtp (0.3.3) + net-protocol + nio4r (2.5.8) + nokogiri (1.14.2-arm64-darwin) + racc (~> 1.4) + parallel (1.22.1) + parser (3.2.1.1) + ast (~> 2.4.1) + pg (1.4.6) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.10.1) + byebug (~> 11.0) + pry (>= 0.13, < 0.15) + public_suffix (5.0.1) + puma (5.6.5) + nio4r (~> 2.0) + racc (1.6.2) + rack (2.2.6.4) + rack-test (2.1.0) + rack (>= 1.3) + rails (7.0.4.2) + actioncable (= 7.0.4.2) + actionmailbox (= 7.0.4.2) + actionmailer (= 7.0.4.2) + actionpack (= 7.0.4.2) + actiontext (= 7.0.4.2) + actionview (= 7.0.4.2) + activejob (= 7.0.4.2) + activemodel (= 7.0.4.2) + activerecord (= 7.0.4.2) + activestorage (= 7.0.4.2) + activesupport (= 7.0.4.2) + bundler (>= 1.15.0) + railties (= 7.0.4.2) + rails-controller-testing (1.0.5) + actionpack (>= 5.0.1.rc1) + actionview (>= 5.0.1.rc1) + activesupport (>= 5.0.1.rc1) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.5.0) + loofah (~> 2.19, >= 2.19.1) + railties (7.0.4.2) + actionpack (= 7.0.4.2) + activesupport (= 7.0.4.2) + method_source + rake (>= 12.2) + thor (~> 1.0) + zeitwerk (~> 2.5) + rainbow (3.1.1) + rake (13.0.1) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + regexp_parser (2.7.0) + rexml (3.2.5) + rspec (3.12.0) + rspec-core (~> 3.12.0) + rspec-expectations (~> 3.12.0) + rspec-mocks (~> 3.12.0) + rspec-core (3.12.1) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-mocks (3.12.4) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-rails (6.0.1) + actionpack (>= 6.1) + activesupport (>= 6.1) + railties (>= 6.1) + rspec-core (~> 3.11) + rspec-expectations (~> 3.11) + rspec-mocks (~> 3.11) + rspec-support (~> 3.11) + rspec-support (3.12.0) + rubocop (1.48.1) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.2.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.26.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.27.0) + parser (>= 3.2.1.0) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-rails (2.18.0) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.33.0, < 2.0) + ruby-progressbar (1.13.0) + rubyzip (2.3.2) + selenium-webdriver (4.8.1) + rexml (~> 3.2, >= 3.2.5) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) + shoulda-context (2.0.0) + shoulda-matchers (5.3.0) + activesupport (>= 5.2.0) + spring (2.1.1) + spring-watcher-listen (2.0.1) + listen (>= 2.7, < 4.0) + spring (>= 1.2, < 3.0) + sprockets (4.2.0) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + sqlite3 (1.6.1-arm64-darwin) + stimulus-rails (1.2.1) + railties (>= 6.0.0) + thor (1.2.1) + timeout (0.3.2) + turbo-rails (1.4.0) + actionpack (>= 6.0.0) + activejob (>= 6.0.0) + railties (>= 6.0.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.4.2) + warnings_logger (0.1.1) + webdrivers (5.2.0) + nokogiri (~> 1.6) + rubyzip (>= 1.3.0) + selenium-webdriver (~> 4.0) + websocket (1.2.9) + websocket-driver (0.7.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + xpath (3.2.0) + nokogiri (~> 1.8) + zeitwerk (2.6.7) + +PLATFORMS + arm64-darwin-22 + +DEPENDENCIES + appraisal + bcrypt (~> 3.1.7) + bootsnap + capybara + importmap-rails + jbuilder + m + minitest (~> 5.0) + minitest-reporters (~> 1.0) + pg (~> 1.1) + pry + pry-byebug + puma (~> 5.0) + rails (= 7.0.4.2) + rails-controller-testing (>= 1.0.1) + rake (= 13.0.1) + rspec (~> 3.9) + rspec-rails (~> 6.0) + rubocop + rubocop-packaging + rubocop-rails + selenium-webdriver + shoulda! + shoulda-context (~> 2.0.0) + snowglobe! + spring + spring-watcher-listen (~> 2.0.0) + sprockets-rails + sqlite3 (~> 1.4) + stimulus-rails + turbo-rails + warnings_logger + webdrivers + +BUNDLED WITH + 2.4.9 diff --git a/script/supported_ruby_versions b/script/supported_ruby_versions index 003e2b1c..1b0fc6ce 100755 --- a/script/supported_ruby_versions +++ b/script/supported_ruby_versions @@ -2,6 +2,6 @@ require 'yaml' -travis_config_path = File.expand_path('../../.travis.yml', __FILE__) +travis_config_path = File.expand_path('../.travis.yml', __dir__) travis_config = YAML.load_file(travis_config_path) puts travis_config.fetch('rvm').join(' ') diff --git a/shoulda.gemspec b/shoulda.gemspec index 008a3605..501177be 100644 --- a/shoulda.gemspec +++ b/shoulda.gemspec @@ -2,29 +2,32 @@ $LOAD_PATH << File.join(File.dirname(__FILE__), 'lib') require 'shoulda/version' Gem::Specification.new do |s| - s.name = 'shoulda' - s.version = Shoulda::VERSION - s.platform = Gem::Platform::RUBY - s.authors = [ + s.name = 'shoulda' + s.version = Shoulda::VERSION.dup + s.authors = [ 'Tammer Saleh', 'Joe Ferris', 'Ryan McGeary', 'Dan Croak', 'Matt Jankowski', ] - s.email = 'support@thoughtbot.com' - s.homepage = 'https://github.com/thoughtbot/shoulda' - s.summary = 'Making tests easy on the fingers and eyes' - s.description = 'Making tests easy on the fingers and eyes' + s.date = Time.now.strftime('%Y-%m-%d') + s.email = 'support@thoughtbot.com' + s.homepage = 'https://github.com/thoughtbot/shoulda' + s.summary = 'Making tests easy on the fingers and eyes' s.license = 'MIT' + s.description = 'Making tests easy on the fingers and eyes' + + s.metadata = { + 'bug_tracker_uri' => 'https://github.com/thoughtbot/shoulda/issues', + 'changelog_uri' => 'https://github.com/thoughtbot/shoulda/blob/main/CHANGELOG.md', + 'source_code_uri' => 'https://github.com/thoughtbot/shoulda', + } - s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") - s.executables = `git ls-files -- bin/*`.split("\n").map do |file| - File.basename(file) - end + s.files = Dir['lib/**/*', 'README.md', 'LICENSE', 'shoulda.gemspec'] s.require_paths = ['lib'] + s.required_ruby_version = '>= 3.0.5' s.add_dependency('shoulda-context', '~> 2.0') - s.add_dependency('shoulda-matchers', '~> 4.0') + s.add_dependency('shoulda-matchers', '~> 5.0') end diff --git a/test/acceptance/integrates_with_rails_test.rb b/test/acceptance/integrates_with_rails_test.rb index 7415149a..8fd2cd77 100644 --- a/test/acceptance/integrates_with_rails_test.rb +++ b/test/acceptance/integrates_with_rails_test.rb @@ -1,7 +1,7 @@ require 'acceptance_test_helper' class ShouldaIntegratesWithRailsTest < AcceptanceTest - # rubocop:disable Metrics/AbcSize, Metrics/MethodLength + # rubocop:disable Metrics/MethodLength def setup app.create @@ -310,7 +310,7 @@ class ExamplesControllerTest < ActionController::TestCase should_not use_around_action(:some_other_around_action) # This is one of the defaults for Rails - should filter_param(:password) + should filter_param(:passw) should_not filter_param(:some_other_param) should rescue_from(ActiveRecord::RecordNotFound). @@ -333,21 +333,12 @@ class ExamplesControllerTest < ActionController::TestCase context "POST #create" do setup do - if ActionPack::VERSION::STRING.start_with?("4.") - post :create, { - user: { - email: "some@email.com", - password: "somepassword" - } - } - else - post :create, params: { - user: { - email: "some@email.com", - password: "somepassword" - } + post :create, params: { + user: { + email: "some@email.com", + password: "somepassword" } - end + } end should permit(:email, :password). @@ -503,7 +494,7 @@ class ExamplesControllerTest < ActionController::TestCase should_not use_around_action(:some_around_action) should use_around_action(:some_other_around_action) - should_not filter_param(:password) + should_not filter_param(:passw) should filter_param(:some_other_param) should_not rescue_from(ActiveRecord::RecordNotFound). diff --git a/test/acceptance_test_helper.rb b/test/acceptance_test_helper.rb index c4e251ed..d6a129c6 100644 --- a/test/acceptance_test_helper.rb +++ b/test/acceptance_test_helper.rb @@ -16,7 +16,7 @@ class AcceptanceTest < Minitest::Test private def app - @app ||= AcceptanceTests::RailsApplicationWithShoulda.new + @_app ||= AcceptanceTests::RailsApplicationWithShoulda.new end end diff --git a/test/support/acceptance/add_shoulda_to_project.rb b/test/support/acceptance/add_shoulda_to_project.rb index 4e7151da..d3714374 100644 --- a/test/support/acceptance/add_shoulda_to_project.rb +++ b/test/support/acceptance/add_shoulda_to_project.rb @@ -1,6 +1,6 @@ module AcceptanceTests class AddShouldaToProject - ROOT_DIRECTORY = Pathname.new('../../..').expand_path(__FILE__) + ROOT_DIRECTORY = Pathname.new('../../..').expand_path(__dir__) def self.call(app, options) new(app, options).call diff --git a/test/support/acceptance/helpers/pluralization_helpers.rb b/test/support/acceptance/helpers/pluralization_helpers.rb index 9aacd7ae..a8af3f1c 100644 --- a/test/support/acceptance/helpers/pluralization_helpers.rb +++ b/test/support/acceptance/helpers/pluralization_helpers.rb @@ -1,7 +1,7 @@ module AcceptanceTests module PluralizationHelpers def pluralize(count, singular_version, plural_version = nil) - plural_version ||= singular_version + 's' + plural_version ||= "#{singular_version}s" if count == 1 "#{count} #{singular_version}" diff --git a/test/support/acceptance/matchers/have_output.rb b/test/support/acceptance/matchers/have_output.rb index ed55ce59..3299959f 100644 --- a/test/support/acceptance/matchers/have_output.rb +++ b/test/support/acceptance/matchers/have_output.rb @@ -1,6 +1,5 @@ module AcceptanceTests module Matchers - # rubocop:disable Naming/PredicateName def have_output(output) HaveOutputMatcher.new(output) end @@ -17,12 +16,15 @@ def matches?(runner) end def failure_message - "Expected command to have output, but did not.\n\n" + - "Command: #{runner.formatted_command}\n\n" + - "Expected output:\n" + - output.inspect + "\n\n" + - "Actual output:\n" + - runner.output + [ + "Expected command to have output, but did not.\n\n", + "Command: #{runner.formatted_command}\n\n", + "Expected output:\n", + output.inspect, + "\n\n", + "Actual output:\n", + runner.output, + ].join end protected diff --git a/test/support/acceptance/matchers/indicate_that_tests_were_run.rb b/test/support/acceptance/matchers/indicate_that_tests_were_run.rb index 7fdf5e1b..9eceef58 100644 --- a/test/support/acceptance/matchers/indicate_that_tests_were_run.rb +++ b/test/support/acceptance/matchers/indicate_that_tests_were_run.rb @@ -21,11 +21,13 @@ def matches?(runner) end def failure_message - "Expected output to indicate that #{some_tests_were_run}.\n" + - "#{formatted_expected_numbers}\n" + - "#{formatted_actual_numbers}\n\n" + - "Output:\n\n" + - actual_output + [ + "Expected output to indicate that #{some_tests_were_run}.\n", + "#{formatted_expected_numbers}\n", + "#{formatted_actual_numbers}\n\n", + "Output:\n\n", + actual_output, + ].join end protected @@ -102,7 +104,7 @@ def find_report_line_in(text) end def format_hash(hash) - '{' + hash.map { |k, v| "#{k}: #{v.inspect}" }.join(', ') + '}' + ['{', hash.map { |k, v| "#{k}: #{v.inspect}" }.join(', '), '}'].join end end end diff --git a/test/support/acceptance/rails_application_with_shoulda.rb b/test/support/acceptance/rails_application_with_shoulda.rb index d85e2468..de87c341 100644 --- a/test/support/acceptance/rails_application_with_shoulda.rb +++ b/test/support/acceptance/rails_application_with_shoulda.rb @@ -13,6 +13,8 @@ def create test_framework: :minitest, libraries: [:rails], ) + bundle.add_gem 'rails-controller-testing', group: [:test] + bundle.add_gem 'bcrypt' end fs.append_to_file 'test/test_helper.rb', <<-FILE diff --git a/test/support/snowglobe.rb b/test/support/snowglobe.rb index c89b5904..1e9a06f9 100644 --- a/test/support/snowglobe.rb +++ b/test/support/snowglobe.rb @@ -1,5 +1,39 @@ require 'snowglobe' Snowglobe.configure do |config| - config.project_name = 'shoulda' + config.project_name = 'shoulda_test' + config.temporary_directory = Pathname.new('../../tmp').expand_path(__dir__) +end + +Snowglobe::Project.class_eval do + # Snowglobe is missing a delegator for run_n_unit_test_suite, so add it in + def_delegators :command_runner, :run_n_unit_test_suite +end + +Snowglobe::CommandRunner.class_eval do + # Patch a bug in Snowglobe where ProjectCommandRunner tries to access `env` + # from a CommandRunner instance, but it is private + attr_reader :env +end + +Snowglobe::RailsApplication.class_eval do + def run_migrations! + command_runner.run_rake_tasks!([ + 'db:environment:set RAILS_ENV=test', + 'db:drop', + 'db:create', + 'db:migrate', + ]) + end + + private + + # In recent versions of Rails, config/boot.rb uses double quotes instead of + # single quotes, so patch Snowglobe to work either way + def remove_bootsnap + fs.comment_lines_matching_in_file( + 'config/boot.rb', + %r{\Arequire (['"])bootsnap/setup\1}, + ) + end end diff --git a/test/test_helper.rb b/test/test_helper.rb index 31f05187..8737aad3 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,11 +1,10 @@ -require 'bundler/setup' require 'pry' require 'pry-byebug' require 'minitest/autorun' require 'minitest/reporters' require 'warnings_logger' -require_relative '../lib/shoulda' +require 'shoulda' Minitest::Reporters.use!(Minitest::Reporters::SpecReporter.new)