class BuPr::Runner

Attributes

config[R]
git[R]

Public Class Methods

call(opts = {}) click to toggle source

@param opts [Hash] @see BuPr::Configuration#initialize

# File lib/bu_pr/runner.rb, line 12
def call opts = {}
  new(opts).call
end
new(opts = {}) click to toggle source

@param opts [Hash] @see BuPr::Configuration#initialize

# File lib/bu_pr/runner.rb, line 22
def initialize opts = {}
  @git    = Git.new
  @config = Configuration.new opts
end

Public Instance Methods

bundle_update() click to toggle source

@return [Boolean]

# File lib/bu_pr/runner.rb, line 41
def bundle_update
  valid? && _bundle_update
end
call() click to toggle source
# File lib/bu_pr/runner.rb, line 27
def call
  if bundle_update && !git.diff?
    puts "no update"
    return
  end

  git.push

  Handlers::Github.call \
    config:         config,
    current_branch: git.current_branch
end
valid?() click to toggle source

@return [Boolean] @raise [BuPr::InvalidConfigurations] @raise [BuPr::RequirementUnfulfilled]

# File lib/bu_pr/runner.rb, line 48
def valid?
  check_config! && check_git!
end

Private Instance Methods

_bundle_update() click to toggle source

@private @return [Boolean] @raise RuntimeError

# File lib/bu_pr/runner.rb, line 57
def _bundle_update
  return true if system("bundle update")

  raise "Error(s) happened"
end
check_config!() click to toggle source

@private @return [Boolean] @raise [BuPr::InvalidConfigurations]

# File lib/bu_pr/runner.rb, line 66
def check_config!
  return true if config.valid?

  raise InvalidConfigurations, "Invalid configuration"
end
check_git!() click to toggle source

@private @return [Boolean] @raise [BuPr::RequirementUnfulfilled]

# File lib/bu_pr/runner.rb, line 75
def check_git!
  return true if git.installed?

  raise RequirementUnfulfilled, "Git is not installed"
end