Sha256: 3ae6038f07c7e9b4c2d3aa1ffa329031c5ba467078f8e670e690bbeb54caaf72

Contents?: true

Size: 612 Bytes

Versions: 1

Compression:

Stored size: 612 Bytes

Contents

class OnChangeBuilder

	def initialize(property, &block)
		@property = property
		@actions_for = []
		@data_source = nil

		instance_eval(&block) if block_given?
	end


	def property(value)
		@property = value
	end

	def action_for(value, &block)
		@actions_for << ::KirguduBase::DynamicPages::ActionForBuilder.new(value, &block)
	end

	def data_source(value)
		@data_source = value
	end


	def to_on_change
		on_change = ::KirguduBase::DynamicPages::OnChange.new
		(
			property: @property,
			data_source: @data_source
		)

		@actions_for.each do |item|
			on_change.actions << item
		end

		on_change
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kirgudu_base-0.0.1 app/models/kirgudu_base/dynamic_pages/on_change_builder.rb