Class: Listings::Sources::BaseActiveRecordField

Inherits:
Field
  • Object
show all
Defined in:
lib/listings/sources/active_record_data_source.rb

Instance Attribute Summary

Attributes inherited from Field

#data_source

Instance Method Summary collapse

Methods inherited from Field

#key, #value_for

Constructor Details

#initialize(data_source) ⇒ BaseActiveRecordField

Returns a new instance of BaseActiveRecordField.



98
99
100
# File 'lib/listings/sources/active_record_data_source.rb', line 98

def initialize(data_source)
  super(data_source)
end

Instance Method Details

#all_values(items) ⇒ Object



102
103
104
# File 'lib/listings/sources/active_record_data_source.rb', line 102

def all_values(items)
  prepare_pluck(items).reorder(query_column).pluck("distinct #{query_column}").reject(&:nil?)
end

#prepare_pluck(items) ⇒ Object



106
107
108
# File 'lib/listings/sources/active_record_data_source.rb', line 106

def prepare_pluck(items)
  items
end

#sort(items, direction) ⇒ Object



110
111
112
# File 'lib/listings/sources/active_record_data_source.rb', line 110

def sort(items, direction)
  items.reorder("#{query_column} #{direction}")
end