jeff 1.1.0 → 1.2.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 +4 -4
- data/CHANGELOG.md +10 -2
- data/jeff.gemspec +1 -0
- data/lib/jeff/version.rb +1 -1
- data/lib/jeff.rb +9 -5
- data/test/test_jeff.rb +16 -3
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3867d229eb05451a032899de8e28246d02498e6d
|
4
|
+
data.tar.gz: 3d03ba5a26edb20d7528c323e2526ff11293e0cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e513eb4d6bbbf3653362fcaf1d5afc458ee7281509711a95d8d379af208b21686a6dc3aed1e62cfb81e3562a32d59f24dc7ed1b251d37427d4ae2390f12c785e
|
7
|
+
data.tar.gz: 7b3f7c9ad65ecea40f25d666099929e85e5c2476c3cd078412e9df44c1335f75915af0a845d8b31e9a054d9a7fd49cb2211581094aaee9638df9f2051e4c360e
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,15 @@
|
|
1
|
+
# 1.2.0 23/1/2015
|
2
|
+
|
3
|
+
- Discard parameters with nil values
|
4
|
+
|
5
|
+
# 1.1.0 15/10/2014
|
6
|
+
|
7
|
+
- Allow customising user agent
|
8
|
+
|
1
9
|
# 1.0.1 18/12/2013
|
2
10
|
|
3
|
-
|
11
|
+
- Relax Excon dependency version
|
4
12
|
|
5
13
|
# 1.0.0 25/11/2013
|
6
14
|
|
7
|
-
|
15
|
+
- First stable release
|
data/jeff.gemspec
CHANGED
@@ -8,6 +8,7 @@ Gem::Specification.new do |gem|
|
|
8
8
|
gem.description = %q{An Amazon Web Services client}
|
9
9
|
gem.summary = %q{An AWS client}
|
10
10
|
gem.homepage = "https://github.com/hakanensari/jeff"
|
11
|
+
gem.license = "MIT"
|
11
12
|
|
12
13
|
gem.files = `git ls-files`.split($\)
|
13
14
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
data/lib/jeff/version.rb
CHANGED
data/lib/jeff.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Jeff
|
1
|
+
# Jeff's only external dependency.
|
2
2
|
require "excon"
|
3
3
|
|
4
4
|
# Standard library dependencies.
|
@@ -74,7 +74,7 @@ module Jeff
|
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
77
|
-
# Because Ruby
|
77
|
+
# Because Ruby's CGI escapes tilde, use a custom escape.
|
78
78
|
module Utils
|
79
79
|
UNRESERVED = /([^\w.~-]+)/
|
80
80
|
|
@@ -154,9 +154,13 @@ module Jeff
|
|
154
154
|
end
|
155
155
|
|
156
156
|
def default_query_values
|
157
|
-
self.class.params
|
158
|
-
|
159
|
-
|
157
|
+
self.class.params
|
158
|
+
.reduce({}) { |qv, (k, v)|
|
159
|
+
v = v.respond_to?(:call) ? instance_exec(&v) : v
|
160
|
+
|
161
|
+
# Ignore keys with nil values
|
162
|
+
v.nil? ? qv : qv.update(k => v)
|
163
|
+
}
|
160
164
|
end
|
161
165
|
|
162
166
|
module ClassMethods
|
data/test/test_jeff.rb
CHANGED
@@ -25,12 +25,25 @@ class TestJeff < Minitest::Test
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def test_configures_request_query_parameters
|
28
|
-
@klass.
|
29
|
-
params "Foo" => "bar"
|
30
|
-
end
|
28
|
+
@klass.params "Foo" => "bar"
|
31
29
|
assert @klass.params.has_key?("Foo")
|
32
30
|
end
|
33
31
|
|
32
|
+
def test_allows_dynamic_values_for_request_query_parameters
|
33
|
+
@klass.params "Foo" => -> { bar }
|
34
|
+
client = @klass.new
|
35
|
+
def client.bar; "baz"; end
|
36
|
+
assert client.bar, client.send(:default_query_values).fetch("Foo")
|
37
|
+
assert_kind_of Proc, @klass.params["Foo"]
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_discards_request_query_parameters_with_nil_values
|
41
|
+
@klass.params "Foo" => -> { bar }
|
42
|
+
client = @klass.new
|
43
|
+
def client.bar; end
|
44
|
+
refute client.send(:default_query_values).key?("Foo")
|
45
|
+
end
|
46
|
+
|
34
47
|
def test_requires_signature
|
35
48
|
signature = Jeff::Signature.new(nil)
|
36
49
|
assert_raises(ArgumentError) { signature.sign("foo") }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jeff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hakan Ensari
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: excon
|
@@ -71,7 +71,8 @@ files:
|
|
71
71
|
- lib/jeff/version.rb
|
72
72
|
- test/test_jeff.rb
|
73
73
|
homepage: https://github.com/hakanensari/jeff
|
74
|
-
licenses:
|
74
|
+
licenses:
|
75
|
+
- MIT
|
75
76
|
metadata: {}
|
76
77
|
post_install_message:
|
77
78
|
rdoc_options: []
|
@@ -89,9 +90,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
90
|
version: '0'
|
90
91
|
requirements: []
|
91
92
|
rubyforge_project:
|
92
|
-
rubygems_version: 2.
|
93
|
+
rubygems_version: 2.4.5
|
93
94
|
signing_key:
|
94
95
|
specification_version: 4
|
95
96
|
summary: An AWS client
|
96
97
|
test_files:
|
97
98
|
- test/test_jeff.rb
|
99
|
+
has_rdoc:
|