Module: Grape::DSL::Declared
- Included in:
- InsideRoute
- Defined in:
- lib/grape/dsl/declared.rb
Defined Under Namespace
Classes: MethodNotYetAvailable
Instance Method Summary collapse
-
#declared(passed_params, include_parent_namespaces: true, include_missing: true, evaluate_given: false, stringify: false) ⇒ Object
A filtering method that will return a hash consisting only of keys that have been declared by a
paramsstatement against the current/target endpoint or parent namespaces.
Instance Method Details
#declared(passed_params, include_parent_namespaces: true, include_missing: true, evaluate_given: false, stringify: false) ⇒ Object
A filtering method that will return a hash consisting only of keys that have been declared by a params statement against the current/target endpoint or parent namespaces. options. :include_parent_namespaces defaults to true, hence must be set to false if you want only to return params declared against the current/target endpoint.
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/grape/dsl/declared.rb', line 22 def declared(passed_params, include_parent_namespaces: true, include_missing: true, evaluate_given: false, stringify: false) raise MethodNotYetAvailable unless before_filter_passed contract_key_map = inheritable_setting.namespace_stackable[:contract_key_map] handler = DeclaredParamsHandler.new(include_missing:, evaluate_given:, stringify:, contract_key_map: contract_key_map) declared_params = include_parent_namespaces ? inheritable_setting.route[:declared_params] : (inheritable_setting.namespace_stackable[:declared_params].last || []) renamed_params = inheritable_setting.route[:renamed_params] || {} route_params = .dig(:route_options, :params) || {} # options = endpoint's option handler.call(passed_params, declared_params, route_params, renamed_params) end |