class Garage::NestedFieldQuery::Builder

Public Class Methods

build(*args) click to toggle source
# File lib/garage/nested_field_query.rb, line 73
def self.build(*args)
  new.build(*args)
end

Public Instance Methods

build(arg) click to toggle source
# File lib/garage/nested_field_query.rb, line 77
def build(arg)
  val = ''

  case arg
  when Hash
    val << arg.map { |key, value|
      if value.nil?
        key
      else
        "#{key}[#{build(value)}]"
      end
    }.join(',')
  when Symbol, String
    val << arg.to_s
  else
    raise InvalidData, "Can't encode data type: #{arg.class}"
  end

  val
end