module Praxis::Plugins::MapperPlugin::Controller
Public Instance Methods
build_query(base_query)
click to toggle source
# File lib/praxis/plugins/mapper_plugin.rb, line 50 def build_query(base_query) domain_model = media_type&.domain_model raise "No domain model defined for #{name}. Cannot use the attribute filtering helpers without it" unless domain_model filters = request.params.filters if request.params.respond_to?(:filters) # Handle filters base_query = domain_model.craft_filter_query(base_query, filters: filters) selectors = selector_generator.selectors base_query = domain_model.craft_field_selection_query(base_query, selectors: selectors) # handle pagination and ordering if the pagination extention is included base_query = domain_model.craft_pagination_query(base_query, pagination: _pagination, selectors: selectors) if respond_to?(:_pagination) base_query end
selector_generator()
click to toggle source
# File lib/praxis/plugins/mapper_plugin.rb, line 66 def selector_generator return unless media_type.respond_to?(:domain_model) && media_type.domain_model < Praxis::Mapper::Resource @selector_generator ||= \ Praxis::Mapper::SelectorGenerator.new.add(media_type.domain_model, expanded_fields) end