Class: Ronin::Code::SQL::Like
Instance Attribute Summary collapse
-
#left ⇒ Object
readonly
Left-hand side.
-
#op ⇒ Object
readonly
Operator.
-
#right ⇒ Object
readonly
Right-hand side.
Instance Method Summary collapse
- #emit ⇒ Object
- #escape(str) ⇒ Object
-
#initialize(op, left, right, escape = nil) ⇒ Like
constructor
A new instance of Like.
- #not! ⇒ Object
Methods inherited from Expr
Constructor Details
#initialize(op, left, right, escape = nil) ⇒ Like
Returns a new instance of Like.
38 39 40 41 42 43 44 |
# File 'lib/ronin/code/sql/like.rb', line 38 def initialize(op,left,right,escape=nil) @op = op @left = left @right = right @escape = escape @negated = false end |
Instance Attribute Details
#left ⇒ Object (readonly)
Left-hand side
33 34 35 |
# File 'lib/ronin/code/sql/like.rb', line 33 def left @left end |
#op ⇒ Object (readonly)
Operator
30 31 32 |
# File 'lib/ronin/code/sql/like.rb', line 30 def op @op end |
#right ⇒ Object (readonly)
Right-hand side
36 37 38 |
# File 'lib/ronin/code/sql/like.rb', line 36 def right @right end |
Instance Method Details
#emit ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/ronin/code/sql/like.rb', line 54 def emit tokens = emit_value(@left) tokens += emit_token('NOT') if @negated tokens += emit_token(@op) tokens += emit_value(@right) if @escape tokens += emit_token('ESCAPE') tokens << @escape.to_s[0..0] end return tokens end |
#escape(str) ⇒ Object
46 47 48 |
# File 'lib/ronin/code/sql/like.rb', line 46 def escape(str) @escape = str end |
#not! ⇒ Object
50 51 52 |
# File 'lib/ronin/code/sql/like.rb', line 50 def not! @negated = true end |