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.
615 616 617 618 619 620 621 622 |
# File 'lib/mxrb/dsl/builder.rb', line 615 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
624 625 626 627 628 |
# File 'lib/mxrb/dsl/builder.rb', line 624 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
630 631 632 633 634 635 |
# File 'lib/mxrb/dsl/builder.rb', line 630 def to_h { caption: @caption, page: @page, microflow: @microflow, icon: @icon, items: @items } end |