Class: Safrano::Filter::QString

Inherits:
Leave show all
Defined in:
lib/odata/filter/base.rb,
lib/odata/filter/tree.rb,
lib/odata/filter/sequel.rb

Overview

Quoted Strings

Constant Summary collapse

DBL_QO =
"''"
SI_QO =
"'"

Instance Attribute Summary

Attributes inherited from Leave

#parent

Attributes inherited from Node

#value

Instance Method Summary collapse

Methods inherited from Leave

#attach, #check_types

Methods inherited from Node

#==, #success

Constructor Details

#initialize(val) ⇒ QString

Returns a new instance of QString.



514
515
516
517
# File 'lib/odata/filter/tree.rb', line 514

def initialize(val)
  # unescape double quotes
  super(val.gsub(DBL_QO, SI_QO))
end

Instance Method Details

#accept?(tok, typ) ⇒ Boolean

Returns:

  • (Boolean)


519
520
521
522
523
524
525
526
# File 'lib/odata/filter/tree.rb', line 519

def accept?(tok, typ)
  case typ
  when :Delimiter, :Separator, :BinopBool, :BinopArithm
    nil
  else
    Parser::ErrorInvalidToken.new(tok, typ, self)
  end
end

#edm_typeObject



528
529
530
# File 'lib/odata/filter/tree.rb', line 528

def edm_type
  :string
end

#leuqes(_jh) ⇒ Object



294
295
296
# File 'lib/odata/filter/sequel.rb', line 294

def leuqes(_jh)
  success @value
end

#leuqes_ends_like(_jh) ⇒ Object



302
303
304
# File 'lib/odata/filter/sequel.rb', line 302

def leuqes_ends_like(_jh)
  success "%#{@value}"
end

#leuqes_starts_like(_jh) ⇒ Object



298
299
300
# File 'lib/odata/filter/sequel.rb', line 298

def leuqes_starts_like(_jh)
  success "#{@value}%"
end

#leuqes_substringof_sig1(_jh) ⇒ Object



306
307
308
# File 'lib/odata/filter/sequel.rb', line 306

def leuqes_substringof_sig1(_jh)
  success "%#{@value}%"
end