Sha256: e3d34a8ee4c0270fec7b06877516d13be09c494d453a08a7c1e061a7b8d1b397

Contents?: true

Size: 1.29 KB

Versions: 18

Compression:

Stored size: 1.29 KB

Contents

module KirguduBase
	module DynamicPages
		class MenuItemBuilder < ::KirguduBase::DynamicPages::PageElementBuilder

			def initialize(&block)

				self.builder_options.merge!({
					                             items: nil,
					                             link: nil,
					                             target: :same,
				                                 controller_link: nil,
				                                 label: nil
				                            })

				super(nil, &block)
			end

			def link(value)
				self.builder_options[:link] = value
			end

			def target(value)
				self.builder_options[:target] = value
			end

			def label(value)
				self.builder_options[:label] = value
			end

			def items(&block)
				elements = ::KirguduBase::DynamicPages::MenuItemsBlockBuilder.new(&block).to_elements

				elements.each do |element|
					self.builder_options[:items] = [] unless self.builder_options[:items]
					self.builder_options[:items] << element
				end
			end

			def controller_link(&block)
				self.builder_options[:controller_link] = ::KirguduBase::DynamicPages::ControllerLinkBuilder.new(&block).to_element
			end

			def to_element
				element = ::KirguduBase::DynamicPages::MenuItem.new
				self.build_element(element)
				self.validate_generated_element(element)
				element
			end
		end
	end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
kirgudu_base-0.0.21 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.19 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.18 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.17 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.16 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.15 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.14 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.13 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.12 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.11 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.10 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.9 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.8 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.7 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.6 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.5 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.4 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb
kirgudu_base-0.0.3 app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb