Class: Garage::NestedFieldQuery::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/garage/nested_field_query.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.build(*args) ⇒ Object



73
74
75
# File 'lib/garage/nested_field_query.rb', line 73

def self.build(*args)
  new.build(*args)
end

Instance Method Details

#build(arg) ⇒ Object



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# 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