Class: GoodData::Bam::DSL::GraphDSL
- Inherits:
-
Object
- Object
- GoodData::Bam::DSL::GraphDSL
- Defined in:
- lib/dsl/dsl.rb
Instance Method Summary collapse
-
#initialize(flow_name, &bl) ⇒ GraphDSL
constructor
A new instance of GraphDSL.
- #metadata(data, &bl) ⇒ Object
- #to_a ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(flow_name, &bl) ⇒ GraphDSL
Returns a new instance of GraphDSL.
59 60 61 62 63 |
# File 'lib/dsl/dsl.rb', line 59 def initialize(flow_name, &bl) @name = flow_name @steps = [] instance_eval(&bl) end |
Instance Method Details
#metadata(data, &bl) ⇒ Object
65 66 67 68 69 70 71 72 73 74 |
# File 'lib/dsl/dsl.rb', line 65 def (data, &bl) fail "Params need to be hash" unless data.is_a? Hash fail "Metadata definition should have at least \"id\" defined. You provided \"#{data}\"." unless data.has_key?(:id) if bl.nil? @steps << {:type => :graph_metadata, :steps => [], :flow_id => @name}.merge(data) else = MetadataDSL.new(@name, &bl) @steps << {:type => :graph_metadata, :steps => .to_a, :flow_id => @name}.merge(data) end end |
#to_a ⇒ Object
83 84 85 |
# File 'lib/dsl/dsl.rb', line 83 def to_a @steps end |
#to_hash ⇒ Object
76 77 78 79 80 81 |
# File 'lib/dsl/dsl.rb', line 76 def to_hash { :name => @name, :steps => @steps } end |