Class: Sorted::URIQuery

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

Constant Summary collapse

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

Class Method Summary collapse

Methods included from Parse

parse_match, split

Class Method Details

.encode(set) ⇒ Object



172
173
174
# File 'lib/sorted.rb', line 172

def self.encode(set)
  set.map { |a| a.join('_') }.join('!')
end

.parse(raw) ⇒ Object



164
165
166
167
168
169
170
# File 'lib/sorted.rb', line 164

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