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::AfterResourceUpdate.call(resource, @params) 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