Class: Gitlab::Nav::TopNavMenuBuilder
- Inherits:
-
Object
- Object
- Gitlab::Nav::TopNavMenuBuilder
- Defined in:
- lib/gitlab/nav/top_nav_menu_builder.rb
Instance Method Summary collapse
- #add_primary_menu_item(header: nil, **args) ⇒ Object
- #add_secondary_menu_item(**args) ⇒ Object
- #build ⇒ Object
-
#initialize ⇒ TopNavMenuBuilder
constructor
A new instance of TopNavMenuBuilder.
Constructor Details
#initialize ⇒ TopNavMenuBuilder
Returns a new instance of TopNavMenuBuilder.
6 7 8 9 10 |
# File 'lib/gitlab/nav/top_nav_menu_builder.rb', line 6 def initialize @primary = [] @secondary = [] @last_header_added = nil end |
Instance Method Details
#add_primary_menu_item(header: nil, **args) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/gitlab/nav/top_nav_menu_builder.rb', line 12 def (header: nil, **args) if header && (header != @last_header_added) (dest: @primary, title: header) @last_header_added = header end (dest: @primary, **args) end |
#add_secondary_menu_item(**args) ⇒ Object
21 22 23 |
# File 'lib/gitlab/nav/top_nav_menu_builder.rb', line 21 def (**args) (dest: @secondary, **args) end |
#build ⇒ Object
25 26 27 28 29 30 |
# File 'lib/gitlab/nav/top_nav_menu_builder.rb', line 25 def build { primary: @primary, secondary: @secondary } end |