33 lines
744 B
Ruby
33 lines
744 B
Ruby
# 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
|