Module: RestPack::Serializer::Filterable::ClassMethods

Defined in:
lib/restpack_serializer/serializable/filterable.rb

Instance Method Summary collapse

Instance Method Details

#can_filter_by(*attributes) ⇒ Object



9
10
11
12
13
14
# File 'lib/restpack_serializer/serializable/filterable.rb', line 9

def can_filter_by(*attributes)
  attributes.each do |attribute|
    @serializable_filters ||= []
    @serializable_filters << attribute.to_sym
  end
end

#filterable_byObject



16
17
18
19
20
21
22
# File 'lib/restpack_serializer/serializable/filterable.rb', line 16

def filterable_by
  filters = [self.model_class.primary_key.to_sym]
  filters += self.model_class.reflect_on_all_associations(:belongs_to).map(&:foreign_key).map(&:to_sym)

  filters += @serializable_filters if @serializable_filters
  filters.uniq
end

#serializable_filtersObject



5
6
7
# File 'lib/restpack_serializer/serializable/filterable.rb', line 5

def serializable_filters
  @serializable_filters
end