Class: MarkdownExec::MenuBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/markdown_exec.rb

Instance Method Summary collapse

Constructor Details

#initializeMenuBuilder

Returns a new instance of MenuBuilder.



153
154
155
156
# File 'lib/markdown_exec.rb', line 153

def initialize
  @chrome_color = :cyan
  @o_color = :red
end

Instance Method Details

#build_menu(file_names, directory_names, found_in_block_names, files_in_directories, vbn) ⇒ Object



158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# File 'lib/markdown_exec.rb', line 158

def build_menu(file_names, directory_names, found_in_block_names, files_in_directories, vbn)
  choices = []

  # Adding section title and data for file names
  choices << { disabled: '', name: "in #{file_names[:section_title]}".send(@chrome_color) }
  choices += file_names[:data].map { |str| FileInMenu.for_menu(str) }

  # Conditionally add directory names if data is present
  unless directory_names[:data].count.zero?
    choices << { disabled: '', name: "in #{directory_names[:section_title]}".send(@chrome_color) }
    choices += files_in_directories
  end

  # Adding found in block names
  choices << { disabled: '', name: "in #{found_in_block_names[:section_title]}".send(@chrome_color) }

  choices += vbn

  choices
end