Sha256: 083554c0778049e2653f3212674406a9f409dd30e70c4e1d32e709a85e0ec375

Contents?: true

Size: 1.2 KB

Versions: 42

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

module EacRubyGemsUtils
  module Tests
    class Multiple
      class DecoratedGem < ::SimpleDelegator
        enable_console_speaker

        def prepare
          return unless gemfile_path.exist?

          log('running "bundle install"...')
          return if bundle('install').execute.fetch(:exit_code).zero?

          unless can_remove_gemfile_lock?
            raise '"bundle install" failed and the Gemfile.lock is part of gem' \
                '(Should be changed by developer)'
          end

          prepare_with_removable_gemfile_lock
        end

        def tests
          [::EacRubyGemsUtils::Tests::Minitest.new(__getobj__),
           ::EacRubyGemsUtils::Tests::Rspec.new(__getobj__)]
        end

        private

        def log(message)
          infov self, message
        end

        def prepare_with_removable_gemfile_lock
          log('"bundle install" failed, removing Gemfile.lock and trying again...')
          gemfile_lock_path.unlink if gemfile_lock_path.exist?
          bundle('install').execute!
        end

        def can_remove_gemfile_lock?
          !files.include?(gemfile_lock_path.relative_path_from(root))
        end
      end
    end
  end
end

Version data entries

42 entries across 42 versions & 2 rubygems

Version Path
avm-tools-0.98.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
eac_ruby_gems_utils-0.9.2 lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.97.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.96.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
eac_ruby_gems_utils-0.9.1 lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.95.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.94.3 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
eac_ruby_gems_utils-0.9.0 lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.94.2 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.94.1 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.94.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.93.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.92.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.91.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.90.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.89.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.88.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.87.1 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.87.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb
avm-tools-0.86.0 vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb