parliament-ruby 0.7.9.pre2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c1194346f9bb9b35b293aaea4b1e5ffb6feabed1
4
- data.tar.gz: be8b6f78e1618c726c690ded9d19479e9ea326a9
3
+ metadata.gz: 71b2aff3f66eac37947e60b3fc36da0038d3baf0
4
+ data.tar.gz: 9fe948ddf162be2e0b6bd9002ebd7d9e34a98238
5
5
  SHA512:
6
- metadata.gz: '029abceb3012ba1d6ea25b9f62cfac7cf14a300c15c9daa0ea0c0115933d61c957d407f97f800bb11e6a4f56bdf753467ce19db81e0e86e341f5a6a9dfedfa6a'
7
- data.tar.gz: 8c02b6a4999f741701061204b32da0f466cd35dcca7a8188d28ed2f799dfe78bcf3f1930d41f5af7efaf4eb5947a658859e20dec373ab3a20c6fcceee031fe09
6
+ metadata.gz: d78f43df180a15d88dd1d834d118638be588e39239d055d15ee66eae895fa9730365103768987cc1636f6a5a8341228c9c7111c49be1f1bc317295a624327a3d
7
+ data.tar.gz: d8fcbff4dd593b324498fdf6a93105b812595d3ec6b718bd4a203f95cc65f9f27a33c697a9e799e2c7a4306311aaa77e69d6443f012d326f20e0194392bc6dc4
@@ -7,7 +7,7 @@ module Parliament
7
7
  # @attr_reader [String] base_url the base url of our api. (expected: http://example.com - without the trailing slash).
8
8
  # @attr_reader [Hash] headers the headers being sent in the request.
9
9
  class BaseRequest
10
- attr_reader :base_url, :headers
10
+ attr_reader :base_url, :headers, :query_params
11
11
  # Creates a new instance of Parliament::Request::BaseRequest.
12
12
  #
13
13
  # An interesting note for #initialize is that setting base_url on the class, or using the environment variable
@@ -59,6 +59,7 @@ module Parliament
59
59
  @headers = headers || self.class.headers || {}
60
60
  @builder = builder || Parliament::Builder::BaseResponseBuilder
61
61
  @decorators = decorators
62
+ @query_params = {}
62
63
  end
63
64
 
64
65
  # Makes an HTTP GET request and process results into a response.
@@ -85,8 +86,10 @@ module Parliament
85
86
  #
86
87
  # @return [Parliament::Response::BaseResponse] a Parliament::Response::BaseResponse object containing all of the data returned from the URL.
87
88
  def get(params: nil)
89
+ @query_params = @query_params.merge(params) unless params.nil?
90
+
88
91
  endpoint_uri = URI.parse(query_url)
89
- endpoint_uri.query = URI.encode_www_form(params.to_a) unless params.nil?
92
+ endpoint_uri.query = URI.encode_www_form(@query_params.to_a) unless @query_params.empty?
90
93
 
91
94
  http = Net::HTTP.new(endpoint_uri.host, endpoint_uri.port)
92
95
  http.use_ssl = true if endpoint_uri.scheme == 'https'
@@ -69,7 +69,19 @@ module Parliament
69
69
  end
70
70
 
71
71
  def query_url
72
- [@base_url, @endpoint_parts].join('/')
72
+ uri_string = [@base_url, @endpoint_parts].join('/').gsub(' ', '%20')
73
+
74
+ uri = URI.parse(uri_string)
75
+ uri.query = URI.encode_www_form(@query_params) unless @query_params.empty?
76
+
77
+ uri.to_s
78
+ end
79
+
80
+ # @return [Parliament::Request::UrlRequest] self (this is to allow method chaining).
81
+ def set_url_params(params)
82
+ @query_params = @query_params.merge(params)
83
+
84
+ self
73
85
  end
74
86
  end
75
87
  end
@@ -1,3 +1,3 @@
1
1
  module Parliament
2
- VERSION = '0.7.9.pre2'.freeze
2
+ VERSION = '0.8.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parliament-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.9.pre2
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Rayner
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-11 00:00:00.000000000 Z
11
+ date: 2017-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -186,9 +186,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
186
186
  version: '0'
187
187
  required_rubygems_version: !ruby/object:Gem::Requirement
188
188
  requirements:
189
- - - ">"
189
+ - - ">="
190
190
  - !ruby/object:Gem::Version
191
- version: 1.3.1
191
+ version: '0'
192
192
  requirements: []
193
193
  rubyforge_project:
194
194
  rubygems_version: 2.6.8