class GuidesStyle18F::NavigationMenuWriter

Constants

YAML_PREFIX

Public Class Methods

format_navigation_section(nav_data) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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