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