Class: Ingreedy::Parser
- Inherits:
-
Parslet::Parser
- Object
- Parslet::Parser
- 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.
104 105 106 |
# File 'lib/ingreedy/ingreedy_parser.rb', line 104 def initialize(original_query) @original_query = original_query end |
Instance Attribute Details
#original_query ⇒ Object (readonly)
Returns the value of attribute original_query.
11 12 13 |
# File 'lib/ingreedy/ingreedy_parser.rb', line 11 def original_query @original_query end |
Instance Method Details
#parse ⇒ Object
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/ingreedy/ingreedy_parser.rb', line 108 def parse result = Result.new result[:original_query] = original_query parslet = super(original_query) 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 cheating result end |