Class: YADM::CriteriaParser::ExpressionParser::Expression
- Inherits:
-
Object
- Object
- YADM::CriteriaParser::ExpressionParser::Expression
- Includes:
- Operand
- Defined in:
- lib/yadm/criteria_parser/expression_parser.rb
Instance Attribute Summary collapse
-
#arguments ⇒ Object
readonly
Returns the value of attribute arguments.
-
#method_name ⇒ Object
readonly
Returns the value of attribute method_name.
-
#receiver ⇒ Object
readonly
Returns the value of attribute receiver.
Instance Method Summary collapse
- #arguments_result ⇒ Object
-
#initialize(receiver, method_name, arguments) ⇒ Expression
constructor
A new instance of Expression.
- #result ⇒ Object
Constructor Details
#initialize(receiver, method_name, arguments) ⇒ Expression
Returns a new instance of Expression.
37 38 39 40 41 |
# File 'lib/yadm/criteria_parser/expression_parser.rb', line 37 def initialize(receiver, method_name, arguments) @receiver = receiver @method_name = method_name @arguments = arguments end |
Instance Attribute Details
#arguments ⇒ Object (readonly)
Returns the value of attribute arguments.
35 36 37 |
# File 'lib/yadm/criteria_parser/expression_parser.rb', line 35 def arguments @arguments end |
#method_name ⇒ Object (readonly)
Returns the value of attribute method_name.
35 36 37 |
# File 'lib/yadm/criteria_parser/expression_parser.rb', line 35 def method_name @method_name end |
#receiver ⇒ Object (readonly)
Returns the value of attribute receiver.
35 36 37 |
# File 'lib/yadm/criteria_parser/expression_parser.rb', line 35 def receiver @receiver end |
Instance Method Details
#arguments_result ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'lib/yadm/criteria_parser/expression_parser.rb', line 51 def arguments_result arguments.map do |argument| if argument.respond_to?(:result) argument.result else argument end end end |
#result ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/yadm/criteria_parser/expression_parser.rb', line 43 def result Criteria::Expression.new( receiver.result, method_name, arguments_result ) end |