Sha256: 53646c56cacaa7a390dea2a6087d39024785fd9b3300765f72108753ed04ef76

Contents?: true

Size: 681 Bytes

Versions: 1

Compression:

Stored size: 681 Bytes

Contents

module Plutonium
  module Core
    module Controllers
      module Queryable
        extend ActiveSupport::Concern

        included do
          helper_method :resource_query_params
        end

        def resource_query_object(resource_class, params)
          query_object_class = "#{resource_class}QueryObject".constantize
          query_object_class.new resource_context, params
        end

        def current_query_object
          @current_query_object ||= resource_query_object resource_class, resource_query_params
        end

        def resource_query_params
          (params[:q]&.to_unsafe_h || {}).with_indifferent_access
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
plutonium-0.8.0 lib/plutonium/core/controllers/queryable.rb