Class: Safrano::Filter::FPNumber

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

Overview

Numbers (floating point, ints, dec)

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

#==, #initialize, #success

Constructor Details

This class inherits a constructor from Safrano::Filter::Node

Instance Method Details

#accept?(tok, typ) ⇒ Boolean

def initialize(val) 1.53f –> value 1.53 1.53d –> value 1.53 1.53 –> value 1.53 Note: the tokenizer has already dropped the not usefull string parts Note : we dont differentiate between Float and Double here super(val) end

Returns:

  • (Boolean)


367
368
369
370
371
372
373
374
# File 'lib/odata/filter/tree.rb', line 367

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

#edm_typeObject

TODO



377
378
379
# File 'lib/odata/filter/tree.rb', line 377

def edm_type
  :number
end

#leuqes(_jh) ⇒ Object



225
226
227
# File 'lib/odata/filter/sequel.rb', line 225

def leuqes(_jh)
  success Sequel.lit(@value)
end

#leuqes_ends_like(_jh) ⇒ Object



233
234
235
# File 'lib/odata/filter/sequel.rb', line 233

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

#leuqes_starts_like(_jh) ⇒ Object



229
230
231
# File 'lib/odata/filter/sequel.rb', line 229

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

#leuqes_substringof_sig1(_jh) ⇒ Object



237
238
239
# File 'lib/odata/filter/sequel.rb', line 237

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