Module: GoodData::Bam::Step
- Defined in:
- lib/base/step.rb
Class Method Summary collapse
- .find_output_step(steps) ⇒ Object
- .get_graph_path(step) ⇒ Object
- .has_output_step?(steps) ⇒ Boolean
- .step_name(step) ⇒ Object
Class Method Details
.find_output_step(steps) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/base/step.rb', line 22 def self.find_output_step(steps) if has_output_step?(steps) steps.detect {|s| s.has_key?(:out)} elsif steps.count == 1 steps.first else fail "No out is defined and there are more than 1 fields in flow \"#{steps}\"" end end |
.get_graph_path(step) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/base/step.rb', line 5 def self.get_graph_path(step) case step[:type] when :tap "graphs/#{step[:flow_id]}_#{step[:id]}_#{step[:source_type]}_tap.grf" when :sink "graphs/#{step[:flow_id]}_#{step[:id]}_sink.grf" when :graph Graph.get_path(step) else raise "Not implemented" end end |
.has_output_step?(steps) ⇒ Boolean
18 19 20 |
# File 'lib/base/step.rb', line 18 def self.has_output_step?(steps) steps.any? {|s| s.has_key?(:out)} end |
.step_name(step) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/base/step.rb', line 32 def self.step_name(step) case step[:type] when :tap "#{step[:id]}_#{step[:type]}" when :sink "#{step[:id]}_#{step[:type]}" when :graph "#{step[:path].basename.to_s.chomp(step[:path].extname)}_#{step[:type]}" else raise "Not implemented" end end |