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