mirror of
https://github.com/lloeki/rebel.git
synced 2025-12-06 10:04:39 +01:00
arbitrary functions
This commit is contained in:
parent
892b21eaf8
commit
448a342d5f
2 changed files with 13 additions and 0 deletions
|
|
@ -218,6 +218,11 @@ module Rebel::SQL
|
|||
|
||||
## Functions
|
||||
|
||||
def function(name, *args)
|
||||
raw("#{name}(#{names_or_values(*args)})")
|
||||
end
|
||||
alias fn function
|
||||
|
||||
def count(*n)
|
||||
raw("COUNT(#{names(*n)})")
|
||||
end
|
||||
|
|
@ -282,6 +287,10 @@ module Rebel::SQL
|
|||
item.is_a?(Symbol) ? name(item) : value(item)
|
||||
end
|
||||
|
||||
def names_or_values(*items)
|
||||
list(items.map { |v| name_or_value(v) })
|
||||
end
|
||||
|
||||
def equal(l, r)
|
||||
"#{name_or_value(l)} = #{name_or_value(r)}"
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue