Class: EY::Serverside::Adapter::Action

Inherits:
Object
  • Object
show all
Extended by:
CommandOptions::ClassMethods
Defined in:
lib/engineyard-serverside-adapter/action.rb,
lib/engineyard-serverside-adapter/action/deploy.rb,
lib/engineyard-serverside-adapter/action/restart.rb,
lib/engineyard-serverside-adapter/action/rollback.rb,
lib/engineyard-serverside-adapter/action/integrate.rb,
lib/engineyard-serverside-adapter/action/enable_maintenance.rb,
lib/engineyard-serverside-adapter/action/maintenance_status.rb,
lib/engineyard-serverside-adapter/action/disable_maintenance.rb

Defined Under Namespace

Classes: Deploy, DisableMaintenance, EnableMaintenance, Integrate, MaintenanceStatus, Restart, Rollback

Constant Summary collapse

GEM_NAME =
'engineyard-serverside'
BIN_NAME =
GEM_NAME

Class Method Summary collapse

Instance Method Summary collapse

Methods included from CommandOptions::ClassMethods

option

Constructor Details

#initialize(options = {}, &block) ⇒ Action

Returns a new instance of Action.



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/engineyard-serverside-adapter/action.rb', line 27

def initialize(options = {}, &block)
  @gem_bin_path = Pathname.new(options[:gem_bin_path] || "")

  @arguments           = options[:arguments]           || Arguments.new
  @serverside_gem_name = options[:serverside_gem_name] || GEM_NAME
  @serverside_bin_name = options[:serverside_bin_name] || BIN_NAME

  block.call @arguments if block

  validate!
end

Class Method Details

.version_requirement(version = nil) ⇒ Object



39
40
41
42
# File 'lib/engineyard-serverside-adapter/action.rb', line 39

def self.version_requirement(version=nil)
  @version_requirement = Gem::Requirement.create(version) if version
  @version_requirement
end

Instance Method Details

#call(&block) ⇒ Object



44
45
46
# File 'lib/engineyard-serverside-adapter/action.rb', line 44

def call(&block)
  commands.all? { |cmd| block.call(cmd.to_s) }
end

#command_optionsObject



20
21
22
# File 'lib/engineyard-serverside-adapter/action.rb', line 20

def command_options
  self.class.command_options
end

#commandsObject



48
49
50
# File 'lib/engineyard-serverside-adapter/action.rb', line 48

def commands
  @commands ||= [check_and_install_command, action_command]
end

#verboseObject



52
53
54
# File 'lib/engineyard-serverside-adapter/action.rb', line 52

def verbose
  @arguments.verbose
end