module InfinumId module Resources class Updater def initialize(params, resource) @params = params.deep_symbolize_keys @resource = resource end def self.call(params, resource) new(params, resource).call end def call update_resource InfinumId::AfterResourceUpsert.call( resource, @params, InfinumId::AfterResourceIntent::UPDATE ) end private attr_reader :resource_params, :resource def update_resource resource.update(resource_params) end def resource_params @params.slice(*InfinumId.resource_attributes) end end end end