class SleepingKingStudios::Tasks::Apps::Bundle::InstallTask

Defines a Thor task for installing gem dependencies for each application.

Public Class Methods

description() click to toggle source
# File lib/sleeping_king_studios/tasks/apps/bundle/install_task.rb, line 12
def self.description
  'Installs the Ruby gem dependencies for each application.'
end

Public Instance Methods

call(*applications) click to toggle source
# File lib/sleeping_king_studios/tasks/apps/bundle/install_task.rb, line 16
def call *applications
  filtered = filter_applications(:only => applications)

  gemfiles(filtered).each do |gemfile|
    say %(\nInstalling gems for gemfile "#{gemfile}")
    say '-' * 80
    say "\n"

    install_runner.call(gemfile)
  end # each
end

Private Instance Methods

gemfiles(applications) click to toggle source
# File lib/sleeping_king_studios/tasks/apps/bundle/install_task.rb, line 30
def gemfiles applications
  applications.map { |_, config| config.gemfile }.uniq
end
install_runner() click to toggle source
# File lib/sleeping_king_studios/tasks/apps/bundle/install_task.rb, line 34
def install_runner
  @install_runner =
    SleepingKingStudios::Tasks::Apps::Bundle::InstallRunner.new
end