Module: Arel
- Defined in:
- lib/arel_extensions.rb
Defined Under Namespace
Classes: InsertManager, SelectManager, Table
Class Method Summary
collapse
Class Method Details
.duration(s, expr) ⇒ Object
102
103
104
|
# File 'lib/arel_extensions.rb', line 102
def self.duration s, expr
ArelExtensions::Nodes::Duration.new(s.to_s+'i',expr)
end
|
.false ⇒ Object
110
111
112
|
# File 'lib/arel_extensions.rb', line 110
def self.false
Arel::Nodes::Equality.new(1,0)
end
|
.json(*expr) ⇒ Object
90
91
92
93
94
95
96
|
# 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 ⇒ Object
82
83
84
|
# File 'lib/arel_extensions.rb', line 82
def self.rand
ArelExtensions::Nodes::Rand.new
end
|
.shorten(s) ⇒ Object
86
87
88
|
# File 'lib/arel_extensions.rb', line 86
def self.shorten s
Base64.urlsafe_encode64(Digest::MD5.new.digest(s)).tr('=', '').tr('-', '_')
end
|
.true ⇒ Object
106
107
108
|
# File 'lib/arel_extensions.rb', line 106
def self.true
Arel::Nodes::Equality.new(1,1)
end
|
.tuple(*v) ⇒ Object
114
115
116
117
|
# 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) ⇒ Object
98
99
100
|
# File 'lib/arel_extensions.rb', line 98
def self.when condition
ArelExtensions::Nodes::Case.new.when(condition)
end
|