Module: Elasticity::JobFlowStep

Included in:
CustomJarStep, HiveStep, PigStep, StreamingStep
Defined in:
lib/elasticity/job_flow_step.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

@@step_klasses =
[]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



31
32
33
34
# File 'lib/elasticity/job_flow_step.rb', line 31

def self.included(base)
  base.extend(ClassMethods)
  @@step_klasses << base
end

.steps_requiring_installationObject



36
37
38
# File 'lib/elasticity/job_flow_step.rb', line 36

def self.steps_requiring_installation
  @@step_klasses.select{|klass| klass.requires_installation?}
end

Instance Method Details

#aws_installation_stepObject



15
16
17
# File 'lib/elasticity/job_flow_step.rb', line 15

def aws_installation_step
  self.class.aws_installation_step
end

#requires_installation?Boolean



11
12
13
# File 'lib/elasticity/job_flow_step.rb', line 11

def requires_installation?
  self.class.requires_installation?
end

#to_aws_step(jobflow_step) ⇒ Object

Raises:

  • (RuntimeError)


7
8
9
# File 'lib/elasticity/job_flow_step.rb', line 7

def to_aws_step(jobflow_step)
  raise RuntimeError, '#to_aws_step is required to be defined on all job flow steps.'
end