Class: SimpleUrl::KeyValueQueryString

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_url/key_value_query_string.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(query) ⇒ KeyValueQueryString

Returns a new instance of KeyValueQueryString.



10
11
12
# File 'lib/simple_url/key_value_query_string.rb', line 10

def initialize(query)
  @query = query || []
end

Class Method Details

.from_string(query_string) ⇒ Object



5
6
7
8
# File 'lib/simple_url/key_value_query_string.rb', line 5

def self.from_string(query_string)
  ary = URI.decode_www_form(query_string || '')
  new(ary)
end

Instance Method Details

#[](key) ⇒ Object



18
19
20
21
22
23
# File 'lib/simple_url/key_value_query_string.rb', line 18

def [](key)
  @query.each_with_object([]) do |pair, acc|
    k, v = pair
    acc << v if k == key
  end
end

#add(key, value) ⇒ Object



14
15
16
# File 'lib/simple_url/key_value_query_string.rb', line 14

def add(key, value)
  @query << [key, value]
end

#remove(key) ⇒ Object



25
26
27
28
29
30
# File 'lib/simple_url/key_value_query_string.rb', line 25

def remove(key)
  @query = @query.reject do |pair|
    k, = pair
    k == key
  end
end

#to_sObject



32
33
34
# File 'lib/simple_url/key_value_query_string.rb', line 32

def to_s
  URI.encode_www_form(@query)
end