compose_url 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/compose_url.rb +12 -11
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4f02e1ca714b06f3162a64ccc1aad00263342ae5
4
- data.tar.gz: a02d63d16c71d7519c1379fb986cf9f1003a0e1e
3
+ metadata.gz: 6729d272071f8a515e6077829668636e2617c41f
4
+ data.tar.gz: c8e776fd305bd085e922de1c09a503c035e73f80
5
5
  SHA512:
6
- metadata.gz: 60b15d22131abe5877144faaffdae86a8f8fac04820aef93d299f39429bf616e804cf4bbdc7d031cc26dbba6ccb88df9d6f7ee5ac6f0653b63f9d5eb394bcf20
7
- data.tar.gz: 94d78cbcfaefd8baf1e98e18fe153507f4feee202cccae8baf122dbdfe7f8ab9fa86769e7ce762218a3e0aa53d2adc8bf8c8e6be1692c2c3846fd048a117dc3f
6
+ metadata.gz: bd1bbc682fd5373258f0e7edae303594577bbe7a06797474defba7ee9238709508c4de1d3afe6e9115c27cc0000801bd9ddaf3a95a9d76e700416d1916df1eb1
7
+ data.tar.gz: 4e0cf2696d342c325c570dd411dcb095eb1cc24b1950534b8e539c7352f91dae80184002f82e1baa76fa267227664e3c798ffb524901d832361c1bbb0a0170b4
data/lib/compose_url.rb CHANGED
@@ -4,9 +4,9 @@ require 'uri'
4
4
  class ComposeURL
5
5
  attr_accessor :params
6
6
 
7
- def initialize(baseurl, params={})
8
- @url = baseurl
9
- @params = params
7
+ def initialize(base_url, params={})
8
+ @url = init_url(base_url)
9
+ @params = init_params(base_url).merge(params)
10
10
  end
11
11
 
12
12
  def add_param(k, v)
@@ -27,15 +27,16 @@ class ComposeURL
27
27
 
28
28
  private
29
29
 
30
- # todo: is this a valid key?
31
- def validate_key(k)
32
- raise ComposeURLError.new('Invalid key') unless k == escape(k) # key shouldn't require escaping, or should it?
33
- escape(k)
30
+ def init_url(base_url)
31
+ base_url[/[^?]+/]
34
32
  end
35
33
 
36
- # todo: is this a valid value?
37
- def validate_value(v)
38
- escape(v)
34
+ def init_params(base_url)
35
+ base_url.gsub(init_url(base_url), '').gsub('?', '').split('&').inject({}) {|h, pair|
36
+ pair = pair.split('=')
37
+ h[pair[0]] = pair[1]
38
+ ; h
39
+ }
39
40
  end
40
41
 
41
42
  def validate_url(url)
@@ -45,7 +46,7 @@ class ComposeURL
45
46
 
46
47
  def params_string
47
48
  @params.map { |k,v|
48
- "#{validate_key(k)}=#{validate_value(v)}"
49
+ "#{escape(k)}=#{escape(v)}"
49
50
  }.join('&')
50
51
  end
51
52
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compose_url
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Burnette