class Transmogrifier::Selector

Constants

FILTER_REGEX
OPERATORS

Attributes

keys[R]

Public Class Methods

from_string(string) click to toggle source
# File lib/transmogrifier/selector.rb, line 8
def self.from_string(string)
  new(
    string.split(".").map do |str|
      match = str.scan(FILTER_REGEX).flatten.first
      match ? match.split(",").map {|s| to_array(s)}  : str
    end
  )
end
new(keys) click to toggle source
# File lib/transmogrifier/selector.rb, line 19
def initialize(keys)
  @keys = keys
end

Private Class Methods

to_array(string) click to toggle source
# File lib/transmogrifier/selector.rb, line 25
def self.to_array(string)
  OPERATORS.each do |op|
    next unless string.include?(op)
    return string.split(op).insert(0, op)
  end
  [string]
end