Class: Emeals::MenuParser
- Inherits:
-
Object
- Object
- Emeals::MenuParser
- Defined in:
- lib/emeals/menu.rb
Instance Method Summary collapse
-
#initialize(menu_text) ⇒ MenuParser
constructor
A new instance of MenuParser.
- #parse ⇒ Object
Constructor Details
#initialize(menu_text) ⇒ MenuParser
Returns a new instance of MenuParser.
23 24 25 |
# File 'lib/emeals/menu.rb', line 23 def initialize() = end |
Instance Method Details
#parse ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/emeals/menu.rb', line 27 def parse buffer = [] meals = [] add_to_buffer = false .split("\n").each do |line| if line =~ /Meal (\d+)/ if add_to_buffer and !buffer.empty? meals << Emeals::Meal.parse(buffer.join("\n")) end add_to_buffer = meals.size < $1.to_i buffer = add_to_buffer ? [line] : [] next unless add_to_buffer else buffer << line if add_to_buffer end end Emeals::Menu.new(meals) end |