lob 1.12.0 → 1.13.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: 5693e0fab190aaf395879ca007343a932cfbee1c
4
- data.tar.gz: d5aaa570fb388bce675e1c01c9f7c03b2d90ec99
3
+ metadata.gz: acd5e9c0fe20145d83f62c1c915f0b2ca6893e7e
4
+ data.tar.gz: 2edc15946a536dcac2b9ade028754a5b30db385e
5
5
  SHA512:
6
- metadata.gz: 598edf4d2c1f3164d79a5987807e6bb3f4a5836e7574b8fd56021d5ca263fdffa37251063d99eb93e006888ef74ee8cfe099b4b75b15539bee6407af157223a6
7
- data.tar.gz: 02e8879f217555d2f91b81823b4f6d873432caf8b8df333a255eef63e4c1d7bbbef0b7f0178c3039b79106f5d49bcdbfc8a0ca93e2c4adf09a82cac6d7404f17
6
+ metadata.gz: 296539b5631661d1c11290efb7bc42fea6f2475305aab47f6cd9e1939b4dff1bf286a78e1b5a75b75717590af722ffca702cc2ab09231b6a59736f1106ec8edd
7
+ data.tar.gz: 45a9466effaa2ead82c9bbb0607ee507c957f332d69f203a72367a6068506bfe9499f4ee3a70fd2e07a6b90fa000890155ea2756efd1c3afc43e7f50d14cfde3
@@ -1,3 +1,6 @@
1
+ ## [**1.13.0**](https://github.com/lob/lob-ruby/releases/tag/v1.13.0)
2
+ - [**#112**] (https://github.com/lob/lob-ruby/pull/112) removes Rack dependency
3
+
1
4
  ## [**1.12.0**](https://github.com/lob/lob-ruby/releases/tag/v1.12.0)
2
5
  - [**#110**] (https://github.com/lob/lob-ruby/pull/110) fixes metadata filter
3
6
 
data/lib/lob.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require "rest-client"
2
- require "rack"
3
2
  require "json"
3
+ require 'uri'
4
4
  require "lob/version"
5
5
  require "lob/errors/lob_error"
6
6
  require "lob/errors/invalid_request_error"
@@ -31,7 +31,7 @@ module Lob
31
31
  begin
32
32
  if method == :get || method == :delete
33
33
  # Hack to URL encode nested objects like metadata.
34
- url = "#{url}?#{Rack::Utils.build_nested_query(parameters)}"
34
+ url = "#{url}?#{build_nested_query(parameters)}"
35
35
  JSON.parse(RestClient.send(method, url, {
36
36
  user_agent: 'Lob/v1 RubyBindings/' + clientVersion,
37
37
  "Lob-Version" => self.api_version
@@ -61,6 +61,24 @@ module Lob
61
61
  raise LobError.new("Invalid response object: #{}", error.http_code, error.http_body)
62
62
  end
63
63
  end
64
+
65
+ def self.build_nested_query(value, prefix = nil)
66
+ case value
67
+ when Array
68
+ value.map { |v|
69
+ build_nested_query(v, "#{prefix}[]")
70
+ }.join("&")
71
+ when Hash
72
+ value.map { |k, v|
73
+ build_nested_query(v, prefix ? "#{prefix}[#{URI.encode_www_form_component(k)}]" : URI.encode_www_form_component(k))
74
+ }.reject(&:empty?).join('&')
75
+ when nil
76
+ prefix
77
+ else
78
+ raise ArgumentError, "value must be a Hash" if prefix.nil?
79
+ "#{prefix}=#{URI.encode_www_form_component(value)}"
80
+ end
81
+ end
64
82
  end
65
83
 
66
84
  def Lob(options={})
@@ -1,3 +1,3 @@
1
1
  module Lob
2
- VERSION = "1.12.0"
2
+ VERSION = "1.13.0"
3
3
  end
@@ -19,7 +19,6 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "rest-client", "~> 1.8"
22
- spec.add_dependency "rack", "~> 1.6"
23
22
 
24
23
  spec.add_dependency "prawn"
25
24
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lob
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.0
4
+ version: 1.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-08 00:00:00.000000000 Z
11
+ date: 2015-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.8'
27
- - !ruby/object:Gem::Dependency
28
- name: rack
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ~>
32
- - !ruby/object:Gem::Version
33
- version: '1.6'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ~>
39
- - !ruby/object:Gem::Version
40
- version: '1.6'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: prawn
43
29
  requirement: !ruby/object:Gem::Requirement