class KeepUp::Application

Main application

Attributes

local[R]
runner[R]
skip[R]

Public Class Methods

new(local:, test_command:, skip:, runner: Runner) click to toggle source
# File lib/keep_up/application.rb, line 17
def initialize(local:, test_command:, skip:, runner: Runner)
  @test_command = test_command
  @local = local
  @skip = skip
  @runner = runner
end

Public Instance Methods

run() click to toggle source
# File lib/keep_up/application.rb, line 24
def run
  check_version_control_clean
  check_bundle_lockfile
  update_all_dependencies
  report_done
end

Private Instance Methods

bundle() click to toggle source
# File lib/keep_up/application.rb, line 58
def bundle
  @bundle ||= Bundle.new(runner: runner, local: local)
end
check_bundle_lockfile() click to toggle source
# File lib/keep_up/application.rb, line 41
def check_bundle_lockfile
  return if bundle.check? && version_control.clean?

  version_control.revert_changes
  raise BailOut, "Make sure your Gemfile.lock is up-to-date before running 'keep_up'"
end
check_version_control_clean() click to toggle source
# File lib/keep_up/application.rb, line 35
def check_version_control_clean
  return if version_control.clean?

  raise BailOut, "Commit or stash your work before running 'keep_up'"
end
filter() click to toggle source
# File lib/keep_up/application.rb, line 66
def filter
  @filter ||= if skip.any?
                SkipFilter.new(skip)
              else
                NullFilter.new
              end
end
report_done() click to toggle source
# File lib/keep_up/application.rb, line 62
def report_done
  puts "All done!"
end
update_all_dependencies() click to toggle source
# File lib/keep_up/application.rb, line 48
def update_all_dependencies
  Updater.new(bundle: bundle,
              version_control: version_control,
              filter: filter).run
end
version_control() click to toggle source
# File lib/keep_up/application.rb, line 54
def version_control
  @version_control ||= VersionControl.new(runner: runner)
end