Sha256: 78660567776362ab387899ff1ad20cc3c202171c2c166ef6394592c3aae71f81

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

require 'bundler'
require 'open3'
require_relative 'bundle'
require_relative 'repository'
require_relative 'updater'
require_relative 'version_control'
require_relative 'null_filter'
require_relative 'skip_filter'

module KeepUp
  # Error thrown when we can't go any further.
  class BailOut < RuntimeError
  end

  # Main application
  class Application
    attr_reader :skip

    def initialize(local:, test_command:, skip:)
      @test_command = test_command
      @local = local
      @skip = skip
    end

    def run
      update_all_dependencies
      report_up_to_date
    end

    private

    def update_all_dependencies
      Updater.new(bundle: Bundle.new,
                  repository: Repository.new,
                  version_control: VersionControl.new,
                  filter: filter).run
    end

    def report_up_to_date
      puts 'Bundle up to date!'
      puts 'All done!'
    end

    def filter
      @filter ||= if skip.any?
                    SkipFilter.new(skip)
                  else
                    NullFilter.new
                  end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
keep_up-0.3.0 lib/keep_up/application.rb