Class: Ansr::Arel::BigTable
- Inherits:
-
Arel::Table
- Object
- Arel::Table
- Ansr::Arel::BigTable
- Defined in:
- lib/ansr/arel/big_table.rb
Instance Attribute Summary collapse
-
#facets ⇒ Object
readonly
Returns the value of attribute facets.
-
#fields ⇒ Object
readonly
Returns the value of attribute fields.
-
#klass ⇒ Object
(also: #model)
readonly
Returns the value of attribute klass.
- #primary_key ⇒ Object
-
#sorts ⇒ Object
readonly
Returns the value of attribute sorts.
Class Method Summary collapse
Instance Method Summary collapse
- #[](name) ⇒ Object
- #configure_fields ⇒ Object
-
#initialize(klass, engine = nil) ⇒ BigTable
constructor
A new instance of BigTable.
Constructor Details
#initialize(klass, engine = nil) ⇒ BigTable
Returns a new instance of BigTable.
20 21 22 23 24 25 26 27 |
# 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 |
Instance Attribute Details
#facets ⇒ Object (readonly)
Returns the value of attribute facets.
6 7 8 |
# File 'lib/ansr/arel/big_table.rb', line 6 def facets @facets end |
#fields ⇒ Object (readonly)
Returns the value of attribute fields.
6 7 8 |
# File 'lib/ansr/arel/big_table.rb', line 6 def fields @fields end |
#klass ⇒ Object (readonly) Also known as: model
Returns the value of attribute klass.
9 10 11 |
# File 'lib/ansr/arel/big_table.rb', line 9 def klass @klass end |
#primary_key ⇒ Object
29 30 31 |
# File 'lib/ansr/arel/big_table.rb', line 29 def primary_key @primary_key ||= ::Arel::Attribute.new( self, self.class.primary_key ) end |
#sorts ⇒ Object (readonly)
Returns the value of attribute sorts.
6 7 8 |
# File 'lib/ansr/arel/big_table.rb', line 6 def sorts @sorts end |
Class Method Details
.primary_key ⇒ Object
12 13 14 |
# File 'lib/ansr/arel/big_table.rb', line 12 def self.primary_key @primary_key ||= 'id' end |
.primary_key=(key) ⇒ Object
16 17 18 |
# File 'lib/ansr/arel/big_table.rb', line 16 def self.primary_key=(key) @primary_key = key end |
Instance Method Details
#[](name) ⇒ Object
37 38 39 40 |
# 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 ⇒ Object
42 43 44 45 46 47 |
# File 'lib/ansr/arel/big_table.rb', line 42 def configure_fields if block_given? yield @field_configs end @field_configs end |