Class: CodeMiner::CaseExpression
- Inherits:
-
Expression
- Object
- Expression
- CodeMiner::CaseExpression
- Defined in:
- lib/codeminer/expressions/case_expression.rb
Instance Attribute Summary collapse
-
#test ⇒ Object
readonly
Returns the value of attribute test.
-
#value ⇒ Object
readonly
Returns the value of attribute value.
-
#whens ⇒ Object
readonly
Returns the value of attribute whens.
Attributes inherited from Expression
#args, #block, #delimiter, #src, #token
Instance Method Summary collapse
- #each ⇒ Object
- #else_exp ⇒ Object
-
#initialize(test, whens, src) ⇒ CaseExpression
constructor
A new instance of CaseExpression.
- #type ⇒ Object
Methods inherited from Expression
Methods included from SourceExtract::Usage
#adjust_src, #column, #column=, #end_column, #end_column=, #end_line, #end_line=, #line, #line=, #src, #src_extract
Constructor Details
#initialize(test, whens, src) ⇒ CaseExpression
Returns a new instance of CaseExpression.
7 8 9 10 11 |
# File 'lib/codeminer/expressions/case_expression.rb', line 7 def initialize(test, whens, src) @test = test @whens = whens @src = src end |
Instance Attribute Details
#test ⇒ Object (readonly)
Returns the value of attribute test.
5 6 7 |
# File 'lib/codeminer/expressions/case_expression.rb', line 5 def test @test end |
#value ⇒ Object (readonly)
Returns the value of attribute value.
5 6 7 |
# File 'lib/codeminer/expressions/case_expression.rb', line 5 def value @value end |
#whens ⇒ Object (readonly)
Returns the value of attribute whens.
5 6 7 |
# File 'lib/codeminer/expressions/case_expression.rb', line 5 def whens @whens end |
Instance Method Details
#each ⇒ Object
21 22 23 |
# File 'lib/codeminer/expressions/case_expression.rb', line 21 def each [@test, *@whens, *[else_exp].compact] end |
#else_exp ⇒ Object
17 18 19 |
# File 'lib/codeminer/expressions/case_expression.rb', line 17 def else_exp @whens.map(&:else).last end |
#type ⇒ Object
13 14 15 |
# File 'lib/codeminer/expressions/case_expression.rb', line 13 def type :case end |