Class: Ansr::Blacklight::Arel::BigTable
- Inherits:
-
Arel::BigTable
- Object
- Arel::BigTable
- Ansr::Blacklight::Arel::BigTable
- Defined in:
- lib/ansr_blacklight/arel/big_table.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
Returns the value of attribute name.
Instance Method Summary collapse
- #constrainable ⇒ Object
- #constrainable?(field) ⇒ Boolean
- #fields ⇒ Object
- #filterable ⇒ Object (also: #facets)
- #filterable?(field) ⇒ Boolean
-
#initialize(klass, engine = nil, config = nil) ⇒ BigTable
constructor
A new instance of BigTable.
- #primary_key ⇒ Object
- #selectable ⇒ Object
- #selectable?(field) ⇒ Boolean
- #sortable ⇒ Object
- #sortable?(field) ⇒ Boolean
Constructor Details
#initialize(klass, engine = nil, config = nil) ⇒ BigTable
Returns a new instance of BigTable.
5 6 7 8 9 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 5 def initialize(klass, engine=nil, config=nil) super(klass, engine) @name = 'select' self.config(config) end |
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
3 4 5 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 3 def name @name end |
Instance Method Details
#constrainable ⇒ Object
25 26 27 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 25 def constrainable index_fields.keys end |
#constrainable?(field) ⇒ Boolean
29 30 31 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 29 def constrainable?(field) index_fields.include?(field) end |
#fields ⇒ Object
41 42 43 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 41 def fields (constrainable + selectable + filterable).uniq end |
#filterable ⇒ Object Also known as: facets
15 16 17 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 15 def filterable config.facet_fields.keys end |
#filterable?(field) ⇒ Boolean
21 22 23 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 21 def filterable?(field) filterable.include? field end |
#primary_key ⇒ Object
53 54 55 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 53 def primary_key @primary_key ||= ::Arel::Attribute.new(self, config.document_unique_id_param.to_s) end |
#selectable ⇒ Object
33 34 35 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 33 def selectable show_fields.keys + index_fields.keys end |
#selectable?(field) ⇒ Boolean
37 38 39 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 37 def selectable?(field) show_fields.include? field end |
#sortable ⇒ Object
45 46 47 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 45 def sortable sort_fields.keys end |
#sortable?(field) ⇒ Boolean
49 50 51 |
# File 'lib/ansr_blacklight/arel/big_table.rb', line 49 def sortable?(field) sort_fields.include? field end |