Class: GuidesStyle18F::NavigationMenuWriter

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

Constant Summary collapse

YAML_PREFIX =
"---\n"

Class Method Summary collapse

Class Method Details

.format_navigation_section(nav_data) ⇒ Object



248
249
250
# File 'lib/guides_style_18f/navigation.rb', line 248

def self.format_navigation_section(nav_data)
  nav_data.empty? ? '' : nav_data.to_yaml[YAML_PREFIX.size..-1]
end

.process_line(line, lines, nav_data, in_navigation = false) ⇒ Object



233
234
235
236
237
238
239
240
241
242
243
244
# File 'lib/guides_style_18f/navigation.rb', line 233

def self.process_line(line, lines, nav_data, in_navigation = false)
  if !in_navigation && line.start_with?('navigation:')
    lines << line << format_navigation_section(nav_data)
    in_navigation = true
  elsif in_navigation
    in_navigation = line.start_with?(' ') || line.start_with?('-')
    lines << line unless in_navigation
  else
    lines << line
  end
  in_navigation
end

.write_navigation_data_to_config_file(config_path, nav_data) ⇒ Object



224
225
226
227
228
229
230
231
# File 'lib/guides_style_18f/navigation.rb', line 224

def self.write_navigation_data_to_config_file(config_path, nav_data)
  lines = []
  in_navigation = false
  open(config_path).each_line do |line|
    in_navigation = process_line line, lines, nav_data, in_navigation
  end
  File.write config_path, lines.join
end