class Groonga::Client::Searcher::Source

Attributes

columns[R]
model_class[R]

Public Class Methods

new(schema, model_class) click to toggle source
# File lib/groonga/client/searcher/source.rb, line 23
def initialize(schema, model_class)
  @schema = schema
  @model_class = model_class
  @columns = {}
end

Public Instance Methods

[]=(name, reader) click to toggle source
# File lib/groonga/client/searcher/source.rb, line 29
def []=(name, reader)
  unless @schema.have_column?(name)
    message = "unknown column name: #{name.inspect}"
    available_columns = @schema.columns.keys.join(", ")
    message << "available columns: [#{available_columns}]"
    raise ArgumentError, message
  end
  @columns[name.to_s] = reader
end
method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/groonga/client/searcher/source.rb, line 39
def method_missing(name, *args, &block)
  return super unless name.to_s.end_with?("=")

  base_name = name.to_s[0..-2]
  if @schema.have_column?(base_name)
    __send__(:[]=, base_name, *args, &block)
  else
    super
  end
end
respond_to_missing?(name, include_private) click to toggle source
Calls superclass method
# File lib/groonga/client/searcher/source.rb, line 50
def respond_to_missing?(name, include_private)
  return super unless name.to_s.end_with?("=")

  base_name = name.to_s[0..-2]
  @schema.have_column?(base_name)
end