Class: SeapigWildcardMasterObject

Inherits:
SeapigMasterObject show all
Defined in:
lib/seapig-client-ruby/client.rb

Instance Attribute Summary collapse

Attributes inherited from SeapigMasterObject

#stall

Attributes inherited from SeapigObject

#destroyed, #id, #initialized, #version

Instance Method Summary collapse

Methods inherited from SeapigMasterObject

#bump, #onproduce, #set, #upload

Methods inherited from SeapigObject

#matches, #ondestroy, #onstatuschange, #sanitized, #unlink

Constructor Details

#initialize(client, id, options) ⇒ SeapigWildcardMasterObject

Returns a new instance of SeapigWildcardMasterObject.



398
399
400
401
402
# File 'lib/seapig-client-ruby/client.rb', line 398

def initialize(client, id, options)
	super(client, id, options)
	@children = {}
	@options = options
end

Instance Attribute Details

#childrenObject (readonly)

Returns the value of attribute children.



396
397
398
# File 'lib/seapig-client-ruby/client.rb', line 396

def children
  @children
end

Instance Method Details

#[](id) ⇒ Object



405
406
407
# File 'lib/seapig-client-ruby/client.rb', line 405

def [](id)
	@children[id] ||= SeapigMasterObject.new(@client, id, @options).ondestroy(&@ondestroy_proc)
end

#destroy(id) ⇒ Object



420
421
422
423
# File 'lib/seapig-client-ruby/client.rb', line 420

def destroy(id)
	return if not (destroyed = @children.delete(id))
	destroyed.destroy(id)
end

#produce(id, version_inferred) ⇒ Object



410
411
412
413
414
415
416
417
# File 'lib/seapig-client-ruby/client.rb', line 410

def produce(id, version_inferred)
	child = self[id]
	if @onproduce_proc
		@onproduce_proc.call(child, version_inferred)
	else
		child.send
	end
end