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
- #aws_installation_step ⇒ Object
- #requires_installation? ⇒ Boolean
- #to_aws_step(jobflow_step) ⇒ Object
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_installation ⇒ Object
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_step ⇒ Object
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
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 |