grac 2.4.0 → 2.4.1
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 +5 -13
- data/lib/grac/client.rb +22 -7
- data/lib/grac/version.rb +1 -1
- metadata +17 -31
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NjFmNWIwZmNlMWJhMjQxNzAzZTkzZWU0OGJjNjE0YzE2YjA4YzU5NQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c4fdd9cfbf5dc5c8680575c1588978d4237aa766
|
4
|
+
data.tar.gz: 5978ccb99392af8670bd8f9a182e25b14769dcc0
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
OTQzZjFiOWVmNWQxZDBlOTc0NjhkNDY0NGRmMjkzOTgxYWJjMzI1NWE3NzM4
|
11
|
-
YmQ1Njg4OGU4NDgzYTcxZTJkZTNjOGEzZDNhZjUyZTBmZGFkMWQ=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MmIwYTg2NTlkYzM0MWJlNjM2OWRkMjdiOWI2MGEzNjM5ZTE2M2EwMDE2NWM0
|
14
|
-
OWJhM2VjNGE2MThiMGIwMTQ3ZmJhY2E1NTM4NjMxMzNkNTIwMmM5NzM0Mjk0
|
15
|
-
MWZmN2U4YjFlNGNiNzBjMWMzZTY4NjQwYTJkZWMzNjgwMWFjYzM=
|
6
|
+
metadata.gz: badef6606c488d9a4d3dae9e09e66c69a29afae3b85fac924782f8df98861560e7aaa9c391dcab4e0e45d30e9afcaae2f4f798f9e6fecc06b1214f0ec5240330
|
7
|
+
data.tar.gz: cc0100af0a171ae16bc22b61af14b87cabbdc4a6df117c6d184eb20bf3c54374154c874a5b18340069bc8a67c80fd9ff95c0462544cbd539bf3644a016d80946
|
data/lib/grac/client.rb
CHANGED
@@ -22,13 +22,29 @@ module Grac
|
|
22
22
|
"User-Agent" => "Grac v#{Grac::VERSION}",
|
23
23
|
"Content-Type" => "application/json;charset=utf-8"
|
24
24
|
}.merge(options[:headers] || {}),
|
25
|
-
:postprocessing =>
|
25
|
+
:postprocessing => {},
|
26
26
|
:middleware => options[:middleware] || []
|
27
27
|
}
|
28
|
+
|
29
|
+
if options[:postprocessing]
|
30
|
+
options[:postprocessing]
|
31
|
+
.each_with_object(postprocessing = {}) do |(pattern, transformation), obj|
|
32
|
+
if pattern.kind_of?(Regexp)
|
33
|
+
obj[pattern] = transformation
|
34
|
+
else
|
35
|
+
obj[Regexp.new(pattern)] = transformation
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
@options[:postprocessing] = postprocessing
|
40
|
+
end
|
41
|
+
|
28
42
|
@options.freeze
|
43
|
+
|
29
44
|
[:params, :headers, :postprocessing, :middleware].each do |k|
|
30
45
|
@options[k].freeze
|
31
46
|
end
|
47
|
+
|
32
48
|
@uri.freeze
|
33
49
|
end
|
34
50
|
|
@@ -174,12 +190,11 @@ module Grac
|
|
174
190
|
if data.kind_of?(Hash)
|
175
191
|
data.each do |key, value|
|
176
192
|
processing = nil
|
177
|
-
@options[:postprocessing].
|
178
|
-
if /#{regex}/ =~ key
|
179
|
-
processing = action
|
180
|
-
end
|
181
|
-
end
|
193
|
+
regexp = @options[:postprocessing].keys.detect { |pattern| pattern =~ key }
|
182
194
|
|
195
|
+
if !regexp.nil?
|
196
|
+
processing = @options[:postprocessing][regexp]
|
197
|
+
end
|
183
198
|
data[key] = postprocessing(value, processing)
|
184
199
|
end
|
185
200
|
elsif data.kind_of?(Array)
|
@@ -197,7 +212,7 @@ module Grac
|
|
197
212
|
# We don't want spaces to be encoded as plus sign - a plus sign can be ambiguous in a URL and
|
198
213
|
# either represent a plus sign or a space.
|
199
214
|
# CGI::escape replaces all plus signs with their percent-encoding representation, so all
|
200
|
-
# remaining plus signs
|
215
|
+
# remaining plus signs are spaces. Replacing these with a space's percent encoding makes the
|
201
216
|
# encoding unambiguous.
|
202
217
|
CGI::escape(value).gsub('+', '%20')
|
203
218
|
end
|
data/lib/grac/version.rb
CHANGED
metadata
CHANGED
@@ -1,111 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grac
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Schoknecht
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 10.4.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 10.4.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 3.2.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 3.2.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: builder
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 3.2.2
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 3.2.2
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec_junit_formatter
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 0.2.2
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.2.2
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rack-test
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 0.6.3
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.6.3
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: typhoeus
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 0.6.9
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ~>
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 0.6.9
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: typhoeus
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ~>
|
87
|
+
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
89
|
version: 0.6.9
|
104
90
|
type: :runtime
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
|
-
- - ~>
|
94
|
+
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
96
|
version: 0.6.9
|
111
97
|
description: Generic REST API Client
|
@@ -130,17 +116,17 @@ require_paths:
|
|
130
116
|
- lib
|
131
117
|
required_ruby_version: !ruby/object:Gem::Requirement
|
132
118
|
requirements:
|
133
|
-
- -
|
119
|
+
- - ">="
|
134
120
|
- !ruby/object:Gem::Version
|
135
121
|
version: '0'
|
136
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
123
|
requirements:
|
138
|
-
- -
|
124
|
+
- - ">="
|
139
125
|
- !ruby/object:Gem::Version
|
140
126
|
version: '0'
|
141
127
|
requirements: []
|
142
128
|
rubyforge_project:
|
143
|
-
rubygems_version: 2.
|
129
|
+
rubygems_version: 2.4.8
|
144
130
|
signing_key:
|
145
131
|
specification_version: 4
|
146
132
|
summary: Very generic client for REST API with basic error handling
|