class Ansr::Arel::BigTable

Attributes

facets[R]
fields[R]
klass[R]
model[R]
primary_key[W]
sorts[R]

Public Class Methods

new(klass, engine=nil) click to toggle source
Calls superclass method
# File lib/ansr/arel/big_table.rb, line 20
def initialize(klass, engine=nil)
  super(klass.name, engine.nil? ? klass.engine : engine)
  @klass = klass.model
  @fields = []
  @facets = []
  @sorts = []
  @field_configs = {}
end
primary_key() click to toggle source
# File lib/ansr/arel/big_table.rb, line 12
def self.primary_key
  @primary_key ||= 'id'
end
primary_key=(key) click to toggle source
# File lib/ansr/arel/big_table.rb, line 16
def self.primary_key=(key)
  @primary_key = key
end

Public Instance Methods

[](name) click to toggle source
# File lib/ansr/arel/big_table.rb, line 37
def [] name
  name = (name.respond_to? :name) ? name.name.to_sym : name.to_sym
  (@field_configs.include? name) ? Ansr::Arel::ConfiguredField.new(self, name, @field_configs[name]) : ::Arel::Attribute.new( self, name)
end
configure_fields() { |field_configs| ... } click to toggle source
# File lib/ansr/arel/big_table.rb, line 42
def configure_fields
  if block_given?
    yield @field_configs
  end
  @field_configs
end
primary_key() click to toggle source
# File lib/ansr/arel/big_table.rb, line 29
def primary_key
  @primary_key ||= ::Arel::Attribute.new( self, self.class.primary_key )
end