Sha256: 0ee255381c1d9d85c50c49e36e52a3a7a88f188b6fb792123345aae00af68327

Contents?: true

Size: 477 Bytes

Versions: 3

Compression:

Stored size: 477 Bytes

Contents

module Iowa

class ComponentProxy < Element

	def initialize(klass, *args)
		super(*args)
		@klass = klass
	end
	
	def component(parent)
		component = parent.subcomponents[@name]
		unless component
			component = @klass.new(@name, @bindings, @attributes, parent)
			parent.subcomponents[@name] = component
		end
		component.children = @children
		component
	end
	
	def handleRequestOrResponse(method, context)
		component(context.root).__send__(method, context)
	end

end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
IOWA-1.0.3 src/iowa/ComponentProxy.rb
IOWA-1.0.2 src/iowa/ComponentProxy.rb
IOWA-1.0.0 src/iowa/ComponentProxy.rb