class WinewooCore::Repositories::Mongo::InterproCriterionsMongoRepo

Public Instance Methods

find(filters) click to toggle source
# File lib/winewoo_core/repositories/mongo/interpro_criterions_mongo_repo.rb, line 4
def find(filters)
  @filters = filters
  category = filters.category && filters.category.parameterize.underscore.to_sym
  return category && find_and_serialize_criterions(category)
end

Private Instance Methods

find_and_serialize_criterions(category) click to toggle source
# File lib/winewoo_core/repositories/mongo/interpro_criterions_mongo_repo.rb, line 13
def find_and_serialize_criterions(category)
  found_criterions = FinderBuilder.build(category, @filters).find
  found_criterions.map do |criterion|
    serialize_criterion(criterion) unless criterion.blank?
  end.compact
end
serialize_criterion(criterion) click to toggle source
# File lib/winewoo_core/repositories/mongo/interpro_criterions_mongo_repo.rb, line 21
def serialize_criterion(criterion)
  criterion.is_a?(String) ?
    { picto: nil, name: criterion, value: criterion } :
    { picto: criterion.read_attribute(@filters.screen_size || :iphonex2_picto),
      name: criterion.name,
      value: criterion.id }
end