class Nexter::Query::Direction

Attributes

column[R]
compass[R]

Public Class Methods

new(column, compass) click to toggle source
# File lib/nexter/query/direction.rb, line 6
def initialize(column, compass)
  @column = column
  @compass = compass
  compass.direction = column[:dir]
end

Public Instance Methods

slice() click to toggle source
# File lib/nexter/query/direction.rb, line 12
def slice
  if column[:val].present?
    delimited = "#{column[:col]} #{bracket} #{quote(column[:val])}"
    delimited.concat(" OR #{column[:col]} IS NULL") if @compass.sign == 1
    "(#{delimited})"
  elsif @compass.sign == -1
    "#{column[:col]} IS NOT NULL"
  end
end
Also aliased as: sql
sql()
Alias for: slice

Private Instance Methods

quote(value) click to toggle source
# File lib/nexter/query/direction.rb, line 24
def quote(value)
  if value.is_a?(Float)
    @compass.sign == 1 ? value + 0.0001 : value - 0.0001
  elsif value.is_a?(Integer)
    value
  else #value.is_a?(String)
    "'#{value}'"
  end
end