# frozen_string_literal: true class PermittedParams < Struct.new(:params) %w(map synapse topic mapping token).each do |kind| define_method(kind) do permitted_attributes = send("#{kind}_attributes") params.require(kind).permit(*permitted_attributes) end alias_method :"api_#{kind}", kind.to_sym end alias read_attribute_for_serialization send def token_attributes [:description] end def map_attributes %i(name desc permission arranged) end def synapse_attributes %i(desc category weight permission topic1_id topic2_id) end def topic_attributes %i(name desc link permission metacode_id) end def mapping_attributes %i(xloc yloc map_id mappable_type mappable_id) end end