Class: Ansr::Blacklight::Arel::BigTable

Inherits:
Arel::BigTable
  • Object
show all
Defined in:
lib/ansr_blacklight/arel/big_table.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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

#nameObject

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

#constrainableObject



25
26
27
# File 'lib/ansr_blacklight/arel/big_table.rb', line 25

def constrainable
  index_fields.keys
end

#constrainable?(field) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/ansr_blacklight/arel/big_table.rb', line 29

def constrainable?(field)
  index_fields.include?(field)
end

#fieldsObject



41
42
43
# File 'lib/ansr_blacklight/arel/big_table.rb', line 41

def fields
  (constrainable + selectable + filterable).uniq
end

#filterableObject 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

Returns:

  • (Boolean)


21
22
23
# File 'lib/ansr_blacklight/arel/big_table.rb', line 21

def filterable?(field)
  filterable.include? field
end

#primary_keyObject



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

#selectableObject



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

Returns:

  • (Boolean)


37
38
39
# File 'lib/ansr_blacklight/arel/big_table.rb', line 37

def selectable?(field)
  show_fields.include? field
end

#sortableObject



45
46
47
# File 'lib/ansr_blacklight/arel/big_table.rb', line 45

def sortable
  sort_fields.keys
end

#sortable?(field) ⇒ Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/ansr_blacklight/arel/big_table.rb', line 49

def sortable?(field)
  sort_fields.include? field
end