Class: GoodData::Bam::DSL::MetadataDSL
- Inherits:
-
Object
- Object
- GoodData::Bam::DSL::MetadataDSL
- Defined in:
- lib/dsl/dsl.rb
Instance Method Summary collapse
- #add(data, &bl) ⇒ Object
-
#initialize(flow_name, &bl) ⇒ MetadataDSL
constructor
A new instance of MetadataDSL.
- #remove(data, &bl) ⇒ Object
- #to_a ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(flow_name, &bl) ⇒ MetadataDSL
Returns a new instance of MetadataDSL.
92 93 94 95 96 |
# File 'lib/dsl/dsl.rb', line 92 def initialize(flow_name, &bl) @name = flow_name @steps = [] instance_eval(&bl) end |
Instance Method Details
#add(data, &bl) ⇒ Object
98 99 100 101 102 |
# File 'lib/dsl/dsl.rb', line 98 def add(data, &bl) fail "Params need to be hash. This means for example remove(:name => \"value\"). " unless data.is_a? Hash fail "Remove field should have at least \"name\" defined. You provided \"#{data}\"." unless data.has_key?(:name) @steps << {:type => :field_add}.merge(data) end |
#remove(data, &bl) ⇒ Object
104 105 106 107 108 |
# File 'lib/dsl/dsl.rb', line 104 def remove(data, &bl) fail "Params need to be hash. This means for example remove(:name => \"value\"). " unless data.is_a? Hash fail "Remove field should have at least \"name\" defined. You provided \"#{data}\"." unless data.has_key?(:name) @steps << {:type => :field_remove}.merge(data) end |
#to_a ⇒ Object
117 118 119 |
# File 'lib/dsl/dsl.rb', line 117 def to_a @steps end |
#to_hash ⇒ Object
110 111 112 113 114 115 |
# File 'lib/dsl/dsl.rb', line 110 def to_hash { :name => @name, :steps => @steps } end |