Class: Supple::DSL::Mapping

Inherits:
Object
  • Object
show all
Defined in:
lib/supple/model/dsl.rb

Instance Method Summary collapse

Constructor Details

#initialize(data = {}, &block) ⇒ Mapping

Returns a new instance of Mapping.



4
5
6
7
8
# File 'lib/supple/model/dsl.rb', line 4

def initialize(data = {}, &block)
  @data = data
  @data[property_key] ||= {}
  instance_eval(&block) if block_given?
end

Instance Method Details

#dynamic_template(name, &block) ⇒ Object



17
18
19
20
21
# File 'lib/supple/model/dsl.rb', line 17

def dynamic_template(name, &block)
  @data[:dynamic_templates] ||= []
  dt = DynamicTemplate.new(name, &block)
  @data[:dynamic_templates] << dt.to_hash
end

#prop(name, options = {}, &block) ⇒ Object



10
11
12
13
14
15
# File 'lib/supple/model/dsl.rb', line 10

def prop(name, options = {}, &block)
  if block_given?
    @data[property_key][name] = Mapping.new(options).instance_eval(&block).to_hash
  end
  @data[property_key][name] = options
end

#to_hashObject



23
24
25
# File 'lib/supple/model/dsl.rb', line 23

def to_hash
  @data
end