Class: Mxrb::Dsl::NavigationMenuItemBuilder
- Inherits:
-
Object
- Object
- Mxrb::Dsl::NavigationMenuItemBuilder
- Defined in:
- lib/mxrb/dsl/builder.rb
Instance Method Summary collapse
-
#initialize(caption, page: nil, microflow: nil, icon: nil, translations: {}) ⇒ NavigationMenuItemBuilder
constructor
A new instance of NavigationMenuItemBuilder.
- #item(caption, page: nil, microflow: nil, icon: nil, translations: {}, &block) ⇒ Object
- #to_h ⇒ Object
Constructor Details
#initialize(caption, page: nil, microflow: nil, icon: nil, translations: {}) ⇒ NavigationMenuItemBuilder
Returns a new instance of NavigationMenuItemBuilder.
534 535 536 537 538 539 540 541 |
# File 'lib/mxrb/dsl/builder.rb', line 534 def initialize(caption, page: nil, microflow: nil, icon: nil, translations: {}) @caption = normalize_caption(caption) @caption.merge!(translations.to_h.transform_keys(&:to_s).transform_values(&:to_s)) @page = page&.to_s @microflow = microflow&.to_s @icon = icon @items = [] end |
Instance Method Details
#item(caption, page: nil, microflow: nil, icon: nil, translations: {}, &block) ⇒ Object
543 544 545 546 547 |
# File 'lib/mxrb/dsl/builder.rb', line 543 def item(caption, page: nil, microflow: nil, icon: nil, translations: {}, &block) child = self.class.new(caption, page:, microflow:, icon:, translations:) child.instance_eval(&block) if block @items << child.to_h end |
#to_h ⇒ Object
549 550 551 552 553 554 |
# File 'lib/mxrb/dsl/builder.rb', line 549 def to_h { caption: @caption, page: @page, microflow: @microflow, icon: @icon, items: @items } end |