Sha256: dc62c13a39d52a71f5c12c38999397938418332e2ff5efefe9fc3630f978d6e5

Contents?: true

Size: 724 Bytes

Versions: 2

Compression:

Stored size: 724 Bytes

Contents

module Locomotive
  module API
    module Helpers
      module ParamsHelper

        def permitted_params
          @permitted_params ||= declared(params, include_missing: false)
        end

        # Much safer than permitted_params because it also uses the current policy
        # (Pundit) to filter the parameters.
        #
        # Example:
        #
        # permitted_params_from_policy(current_site, :site)
        #
        def permitted_params_from_policy(object_or_class, key)
          _params     = permitted_params[key]
          _attributes = policy(object_or_class).permitted_attributes
          ::ActionController::Parameters.new(_params).permit(*_attributes)
        end

      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
locomotivecms-3.0.0.rc2 app/api/locomotive/api/helpers/params_helper.rb
locomotivecms-3.0.0.rc1 app/api/locomotive/api/helpers/params_helper.rb