Sha256: 4856bc69273e87e906334edd53f0b4db81f6d91d4a035d93fac2a0e4daa423b5
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
class KirguduBase::DynamicPages::ActionForBuilder def initialize(value, &block) @value = value @action = [] @condition = :is @data_source = :nil instance_eval(&block) if block_given? end def action(value) if value.is_a?(Array) not_suppoted_actions = [] value.each do |item| not_suppoted_actions << item unless ::KirguduBase::DynamicPages::ActionFor::SUPPORTED_ACTIONS.include?(item) end raise "Actions ':#{not_suppoted_actions.map { |i| ":#{i}" }.join(", ")}' is not supported. Supported Actions are #{::KirguduBase::DynamicPages::ActionFor::SUPPORTED_ACTIONS.map { |i| ":#{i}" }.join(", ")}" if not_suppoted_actions.length > 0 else raise "Action ':#{value}' is not supported. Supported Actions are #{::KirguduBase::DynamicPages::ActionFor::SUPPORTED_ACTIONS.map { |i| ":#{i}" }.join(", ")}" unless ::KirguduBase::DynamicPages::ActionFor::SUPPORTED_ACTIONS.include?(value) end @action = value end def condition(value) raise "Condition ':#{value}' is not supported. Supported Conditions are #{::KirguduBase::DynamicPages::ActionFor::SUPPORTED_CONDITIONS.map { |i| ":#{i}" }.join(", ")}" unless ::KirguduBase::DynamicPages::ActionFor::SUPPORTED_CONDITIONS.include?(value) @condition = value end def data_source(value) @data_source = value end def to_action_for ::KirguduBase::DynamicPages::ActionFor.new( vale: @value, action: @action, condition: @condition, data_source: @data_source ) 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/action_for_builder.rb |