Sha256: 1996416891e37abb4f6d350aa5aae86c7fd8eed1fc433d96f80640d4e3e71ec3
Contents?: true
Size: 1.41 KB
Versions: 21
Compression:
Stored size: 1.41 KB
Contents
module Unimatrix::Authorization class Operation < Unimatrix::Operation def destroy result = nil Request.new.tap do | request | response = request.destroy( @path, @parameters ) if response.present? result = response.resources end end result end def read( &block ) result = nil response = nil Request.new.tap do | request | request.get( @path, @parameters ).tap do | response | result = response.resources if block_given? case block.arity when 0; yield when 1; yield result when 2; yield result, response end end end end result end def write( node, objects, &block ) result = nil Request.new.tap do | request | serializer = Unimatrix::Serializer.new( objects ) response = request.post( @path, @parameters, serializer.serialize( node ) ) if response.present? result = response.resources if block_given? case block.arity when 0; yield when 1; yield result when 2; yield result, response end end end end result end protected; def spawn( parameters ) Operation.new( @path, @parameters.deep_merge( parameters || {} ) ) end end end
Version data entries
21 entries across 21 versions & 1 rubygems