class AgnosticBackend::Index

Attributes

options[R]

Public Class Methods

new(indexable_klass, primary: true, **options) click to toggle source
# File lib/agnostic_backend/index.rb, line 6
def initialize(indexable_klass, primary: true, **options)
  @indexable_klass = indexable_klass
  @primary = primary
  @options = options
  parse_options
end

Public Instance Methods

configure(new_schema = nil) click to toggle source
# File lib/agnostic_backend/index.rb, line 29
def configure(new_schema = nil)
  raise NotImplementedError
end
indexer() click to toggle source
# File lib/agnostic_backend/index.rb, line 25
def indexer
  raise NotImplementedError
end
name() click to toggle source
# File lib/agnostic_backend/index.rb, line 17
def name
  @indexable_klass.index_name
end
parse_option(option_name, optional: false, default: nil) click to toggle source
# File lib/agnostic_backend/index.rb, line 37
def parse_option(option_name, optional: false, default: nil)
  if options.has_key?(option_name)
    options[option_name]
  elsif optional
    default
  else
    raise "#{option_name} must be specified"
  end
end
parse_options() click to toggle source
# File lib/agnostic_backend/index.rb, line 33
def parse_options
  raise NotImplementedError
end
primary?() click to toggle source
# File lib/agnostic_backend/index.rb, line 13
def primary?
  @primary
end
schema() click to toggle source
# File lib/agnostic_backend/index.rb, line 21
def schema
  @indexable_klass.schema
end