class Supple::DSL::Mapping
Public Class Methods
new(data = {}, &block)
click to toggle source
# File lib/supple/model/dsl.rb, line 4 def initialize(data = {}, &block) @data = data @data[property_key] ||= {} instance_eval(&block) if block_given? end
Public Instance Methods
dynamic_template(name, &block)
click to toggle source
# 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)
click to toggle source
# 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_hash()
click to toggle source
# File lib/supple/model/dsl.rb, line 23 def to_hash @data end
Private Instance Methods
property_key()
click to toggle source
# File lib/supple/model/dsl.rb, line 29 def property_key @data[:type].to_s == 'multi_field' ? :fields : :properties end