Class: Wallaby::ActiveRecord::ModelServiceProvider::Permitter
- Inherits:
-
Object
- Object
- Wallaby::ActiveRecord::ModelServiceProvider::Permitter
- Defined in:
- lib/adaptors/wallaby/active_record/model_service_provider/permitter.rb
Overview
Filter the params
Instance Method Summary collapse
- #compound_hashed_fields ⇒ Object
-
#initialize(model_decorator) ⇒ Permitter
constructor
A new instance of Permitter.
- #simple_field_names ⇒ Object
Constructor Details
#initialize(model_decorator) ⇒ Permitter
Returns a new instance of Permitter.
6 7 8 |
# File 'lib/adaptors/wallaby/active_record/model_service_provider/permitter.rb', line 6 def initialize(model_decorator) @model_decorator = model_decorator end |
Instance Method Details
#compound_hashed_fields ⇒ Object
20 21 22 23 24 25 |
# File 'lib/adaptors/wallaby/active_record/model_service_provider/permitter.rb', line 20 def compound_hashed_fields field_names = range_fields.keys + many_association_fields.map { |_, | [:foreign_key] } field_names.each_with_object({}) { |name, hash| hash[name] = [] } end |
#simple_field_names ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/adaptors/wallaby/active_record/model_service_provider/permitter.rb', line 10 def simple_field_names field_names = non_range_fields.keys + belongs_to_fields.map do |_, | [[:foreign_key], [:polymorphic_type]] end.flatten.compact fields = [@model_decorator.primary_key, 'created_at', 'updated_at'] field_names.reject { |field_name| fields.include? field_name } end |