Class: Wallaby::ActiveRecord::ModelServiceProvider::Permitter

Inherits:
Object
  • Object
show all
Defined in:
lib/adaptors/wallaby/active_record/model_service_provider/permitter.rb

Overview

Filter the params

Instance Method Summary collapse

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_fieldsObject



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_namesObject



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