class SeapigWildcardObject
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
SeapigObject::new
# File lib/seapig/client.rb, line 295 def initialize(*args) super(*args) @children = ObjectSpace::WeakMap.new end
Public Instance Methods
destroy(message)
click to toggle source
# File lib/seapig/client.rb, line 308 def destroy(message) if destroyed = self.delete(message['id']) destroyed.destroyed = true @onchange_proc.call(destroyed) if @onchange_proc end end
patch(message)
click to toggle source
# File lib/seapig/client.rb, line 301 def patch(message) self[message['id']] ||= SeapigObject.new(@server, message['id'], self) self[message['id']].patch(message) @onchange_proc.call(self[message['id']]) if @onchange_proc end
produce(object_id, version)
click to toggle source
# File lib/seapig/client.rb, line 316 def produce(object_id, version) key = @children.keys.find { |key| key == object_id } child = (@children[(key or object_id)] ||= SeapigObject.new(@server, object_id, self)) child.version_requested = version if @onproduce_proc @onproduce_proc.call(child) else child.upload(0,{},object_id) end end