grac 3.1.0 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dab0f1b6af881d0b6968b1477a3a5c59106d6bae
4
- data.tar.gz: 5a4b3e25345397044751c355a68ce05dc5a937bf
3
+ metadata.gz: 0bc18695a29c53b4d58cdc373e266bd92de99aef
4
+ data.tar.gz: aafcd7635e5c5e82e9cb7c70833cd41a56fb464d
5
5
  SHA512:
6
- metadata.gz: 4bea07d3bdad420bc3ef902edaa94f46025e11b60c20fecb1f236a843ba52face2e7c7e89bd65f37bb2f20aaccde34a23d7cdbcb6e1aff32d635ef8c839136c6
7
- data.tar.gz: b5815598119b2d4d79ca84b89dd9752125da520dc9b3e7a0df841902e1666bc00783a24a614b3dfa241cee3e86c503c1f9bddc8e53edef578369aebf7fa16b1d
6
+ metadata.gz: 8d7c5e050e4b8078bb4979b4a1afd534f0421248a33346bcb8ee3098f176d3d00f6e62c53af37d55a1d3f04dfc8c53ba71965ff4c01662b5450250af0b77f8c4
7
+ data.tar.gz: b3ef24fcae01810b1b7d0492db275ab02e92fa928a24adce3c631979cc74c4a637c34ea36cfdf16cc30853bcd548ba0e8622ea634e7378e3a077c3173b73b4a0
@@ -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 => options[: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,14 +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].each do |regex, action|
178
- pattern = Regexp.new(regex).freeze
193
+ regexp = @options[:postprocessing].keys.detect { |pattern| pattern =~ key }
179
194
 
180
- if pattern =~ key
181
- processing = action
182
- end
195
+ if !regexp.nil?
196
+ processing = @options[:postprocessing][regexp]
183
197
  end
184
-
185
198
  data[key] = postprocessing(value, processing)
186
199
  end
187
200
  elsif data.kind_of?(Array)
@@ -1,3 +1,3 @@
1
1
  module Grac
2
- VERSION = "3.1.0"
2
+ VERSION = "3.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grac
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.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: 2018-06-25 00:00:00.000000000 Z
11
+ date: 2018-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  version: '0'
113
113
  requirements: []
114
114
  rubyforge_project:
115
- rubygems_version: 2.4.8
115
+ rubygems_version: 2.2.2
116
116
  signing_key:
117
117
  specification_version: 4
118
118
  summary: Very generic client for REST API with basic error handling