Module: Elasticity::JobFlowStep

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

Defined Under Namespace

Modules: ClassMethods

Constant Summary

@@step_klasses =
[]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



39
40
41
42
# File 'lib/elasticity/job_flow_step.rb', line 39

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

.steps_requiring_installationObject



44
45
46
# File 'lib/elasticity/job_flow_step.rb', line 44

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

Instance Method Details

#aws_installation_step_nameObject



19
20
21
# File 'lib/elasticity/job_flow_step.rb', line 19

def aws_installation_step_name
  self.class.aws_installation_step_name
end

#aws_installation_stepsObject



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

def aws_installation_steps
  self.class.aws_installation_steps
end

#requires_installation?Boolean

Returns:

  • (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