module Arel

Public Class Methods

duration(s, expr) click to toggle source
# File lib/arel_extensions.rb, line 102
def self.duration s, expr
  ArelExtensions::Nodes::Duration.new(s.to_s+'i',expr)
end
false() click to toggle source
# File lib/arel_extensions.rb, line 110
def self.false
  Arel::Nodes::Equality.new(1,0)
end
json(*expr) click to toggle source
# File lib/arel_extensions.rb, line 90
def self.json *expr
  if expr.length == 1
    ArelExtensions::Nodes::Json.new(expr.first)
  else
    ArelExtensions::Nodes::Json.new(expr)
  end
end
rand() click to toggle source
# File lib/arel_extensions.rb, line 82
def self.rand
  ArelExtensions::Nodes::Rand.new
end
shorten(s) click to toggle source
# File lib/arel_extensions.rb, line 86
def self.shorten s
  Base64.urlsafe_encode64(Digest::MD5.new.digest(s)).tr('=', '').tr('-', '_')
end
true() click to toggle source
# File lib/arel_extensions.rb, line 106
def self.true
  Arel::Nodes::Equality.new(1,1)
end
tuple(*v) click to toggle source
# File lib/arel_extensions.rb, line 114
def self.tuple *v
  tmp = Arel::Nodes::Grouping.new(nil)
  Arel::Nodes::Grouping.new(v.map{|e| tmp.convert_to_node(e)})
end
when(condition) click to toggle source
# File lib/arel_extensions.rb, line 98
def self.when condition
  ArelExtensions::Nodes::Case.new.when(condition)
end