Sha256: 5404af9eb2ae38459f3ef92cb93f21a6d8a09508887fab74a5cd9925661a2509

Contents?: true

Size: 909 Bytes

Versions: 24

Compression:

Stored size: 909 Bytes

Contents

# frozen_string_literal: true

module Overcommit::Hook::PreCommit
  # Check if local Gemfile.lock matches Gemfile when either changes, unless
  # Gemfile.lock is ignored by git.
  #
  # @see http://bundler.io/
  class BundleCheck < Base
    LOCK_FILE = 'Gemfile.lock'.freeze

    def run
      # Ignore if Gemfile.lock is not tracked by git
      ignored_files = execute(%w[git ls-files -o -i --exclude-standard]).stdout.split("\n")
      return :pass if ignored_files.include?(LOCK_FILE)

      previous_lockfile = File.read(LOCK_FILE) if File.exist?(LOCK_FILE)

      result = execute(command)
      unless result.success?
        return :fail, result.stdout
      end

      new_lockfile = File.read(LOCK_FILE) if File.exist?(LOCK_FILE)
      if previous_lockfile != new_lockfile
        return :fail, "#{LOCK_FILE} is not up-to-date -- run `#{command.join(' ')}`"
      end

      :pass
    end
  end
end

Version data entries

24 entries across 22 versions & 2 rubygems

Version Path
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/bundle_check.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/bundle_check.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/bundle_check.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.46.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.45.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.44.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.43.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.42.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.41.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.40.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.39.1 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.39.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.38.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.37.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.36.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.35.0 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.34.2 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.34.1 lib/overcommit/hook/pre_commit/bundle_check.rb
overcommit-0.34.0 lib/overcommit/hook/pre_commit/bundle_check.rb