Class: MendixBridge::DSL::NavigationMenuBuilder
- Inherits:
-
Object
- Object
- MendixBridge::DSL::NavigationMenuBuilder
- Defined in:
- lib/mendix_bridge/dsl.rb
Instance Attribute Summary collapse
-
#items ⇒ Object
readonly
Returns the value of attribute items.
Instance Method Summary collapse
-
#initialize ⇒ NavigationMenuBuilder
constructor
A new instance of NavigationMenuBuilder.
- #menu_item(caption, page: nil, microflow: nil, nanoflow: nil) ⇒ Object
Constructor Details
#initialize ⇒ NavigationMenuBuilder
Returns a new instance of NavigationMenuBuilder.
186 187 188 |
# File 'lib/mendix_bridge/dsl.rb', line 186 def initialize @items = [] end |
Instance Attribute Details
#items ⇒ Object (readonly)
Returns the value of attribute items.
184 185 186 |
# File 'lib/mendix_bridge/dsl.rb', line 184 def items @items end |
Instance Method Details
#menu_item(caption, page: nil, microflow: nil, nanoflow: nil) ⇒ Object
190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'lib/mendix_bridge/dsl.rb', line 190 def (caption, page: nil, microflow: nil, nanoflow: nil) targets = { "page" => page, "microflow" => microflow, "nanoflow" => nanoflow } .reject { |_action, target| target.nil? } raise ArgumentError, "menu item requires exactly one target" unless targets.length == 1 action, target = targets.first @items << Model::NavigationItem.new( caption: caption.to_s, action:, target: target.to_s ) end |