module ActiveEs::Schema::Definition

Constants

FieldDetaTypes

Public Instance Methods

create_schema() click to toggle source
# File lib/active_es/schema/definition.rb, line 29
def create_schema
  client.indices.create index: index, body: mappings
end
delete_schema() click to toggle source
# File lib/active_es/schema/definition.rb, line 33
def delete_schema
  client.indices.delete index: index
end
property(field, **options) click to toggle source
# File lib/active_es/schema/definition.rb, line 16
def property(field, **options)
  if options.values.all? { |key| FieldDetaTypes.exclude?(key) }
    raise ArgumentError('invalid field deta types')
  end

  unless defined? properties
    class_attribute :properties, default: {}
  end

  properties[field] = options
  attr_accessor field
end
reset_schema() click to toggle source
# File lib/active_es/schema/definition.rb, line 37
def reset_schema
  delete_schema
  create_schema
end