Class: Julewire::Rails::ParameterFilterProcessor
- Inherits:
-
Object
- Object
- Julewire::Rails::ParameterFilterProcessor
- Defined in:
- lib/julewire/rails/parameter_filter_processor.rb
Instance Method Summary collapse
- #call(draft) ⇒ Object
-
#initialize(filters = ParameterFilters.configured) ⇒ ParameterFilterProcessor
constructor
A new instance of ParameterFilterProcessor.
Constructor Details
#initialize(filters = ParameterFilters.configured) ⇒ ParameterFilterProcessor
Returns a new instance of ParameterFilterProcessor.
12 13 14 15 16 17 18 |
# File 'lib/julewire/rails/parameter_filter_processor.rb', line 12 def initialize(filters = ParameterFilters.configured) @filter = build_filter(filters) # Rails exposes filter_param for scalar fields; use it to avoid whole-record # copies when the filter list has no Proc semantics to preserve. @filter_param_fast_path = filter_param_safe?(filters) @field_plan = ParameterFilterPlan.build(filters) if @filter_param_fast_path end |
Instance Method Details
#call(draft) ⇒ Object
20 21 22 23 24 |
# File 'lib/julewire/rails/parameter_filter_processor.rb', line 20 def call(draft) validate_draft!(draft) @filter_param_fast_path ? filter_draft_fields!(draft) : filter_whole_record!(draft) draft end |