Class: Ingreedy::Parser
- Inherits:
-
Object
- Object
- Ingreedy::Parser
- Defined in:
- lib/ingreedy/ingreedy_parser.rb
Defined Under Namespace
Classes: Result
Instance Attribute Summary collapse
-
#original_query ⇒ Object
readonly
Returns the value of attribute original_query.
Instance Method Summary collapse
-
#initialize(original_query) ⇒ Parser
constructor
A new instance of Parser.
- #parse ⇒ Object
Constructor Details
#initialize(original_query) ⇒ Parser
Returns a new instance of Parser.
21 22 23 |
# File 'lib/ingreedy/ingreedy_parser.rb', line 21 def initialize(original_query) @original_query = original_query end |
Instance Attribute Details
#original_query ⇒ Object (readonly)
Returns the value of attribute original_query.
10 11 12 |
# File 'lib/ingreedy/ingreedy_parser.rb', line 10 def original_query @original_query end |
Instance Method Details
#parse ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/ingreedy/ingreedy_parser.rb', line 25 def parse result = Result.new result.original_query = original_query parslet = RootParser.new(original_query).parse result.amount = rationalize parslet[:amount] result.amount = [ result.amount, rationalize(parslet[:amount_end]), ] if parslet[:amount_end] result.container_amount = rationalize(parslet[:container_amount]) result.unit = convert_unit_variation_to_canonical( parslet[:unit].to_s, ) if parslet[:unit] result.container_unit = convert_unit_variation_to_canonical( parslet[:container_unit].to_s, ) if parslet[:container_unit] result.ingredient = parslet[:ingredient].to_s.lstrip.rstrip # TODO: hack result end |