class MenuMarkupParser::Section

Attributes

description_lines[R]
prices[R]
title[R]

Public Instance Methods

children() click to toggle source
# File lib/menu_markup_parser.rb, line 51
def children
  children_nodes.elements
end
choice?() click to toggle source
# File lib/menu_markup_parser.rb, line 47
def choice?
  choice_node.text_value.present?
end
description() click to toggle source
# File lib/menu_markup_parser.rb, line 27
def description
  description_lines.join("\n")
end
parse_elements!() click to toggle source
# File lib/menu_markup_parser.rb, line 39
def parse_elements!
  @description_lines = description_node.elements.collect { |node| node.text.text_value.strip }
  @prices = parse_prices!
  @title = @description_lines.shift

  children.each { |node| node.parse_elements! }
end
restrictions() click to toggle source
# File lib/menu_markup_parser.rb, line 31
def restrictions
  attributes_node.respond_to?(:attributes) ? attributes_node.attributes.restrictions : []
end
spicy() click to toggle source
# File lib/menu_markup_parser.rb, line 35
def spicy
  attributes_node.respond_to?(:attributes) ? attributes_node.attributes.spicy : nil
end

Private Instance Methods

parse_explicit_prices() click to toggle source
# File lib/menu_markup_parser.rb, line 61
def parse_explicit_prices
  price_lines, @description_lines = @description_lines.partition { |line| line.start_with?('=') }
  price_lines.collect { |price_line| MenuMarkup::ParsedPrice.parse_line(price_line[1..-1]) }
end
parse_prices!() click to toggle source
# File lib/menu_markup_parser.rb, line 57
def parse_prices!
  parse_explicit_prices
end