Class: Sorted::SQLQuery

Inherits:
Object
  • Object
show all
Extended by:
Parse
Defined in:
lib/sorted.rb

Constant Summary collapse

REGEXP =
/(([a-z0-9._]+)\s([asc|desc]+)|[a-z0-9._]+)/i

Class Method Summary collapse

Methods included from Parse

parse_match, split

Class Method Details

.encode(set, quote_proc = ->(f) { f }) ⇒ Object



190
191
192
# File 'lib/sorted.rb', line 190

def self.encode(set, quote_proc = ->(f) { f })
  set.map { |a| "#{column(a[0], quote_proc)} #{a[1].upcase}" }.join(', ')
end

.parse(raw) ⇒ Object



182
183
184
185
186
187
188
# File 'lib/sorted.rb', line 182

def self.parse(raw)
  split(raw, /,/) do |set, part|
    m = part.match(REGEXP)
    next unless m
    set << parse_match(m)
  end
end