grac 3.2.0 → 3.3.0

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: 9fdd0470abd5596e55d738192c7abdfb57b64e88
4
- data.tar.gz: 79f10e51fb3d8b197b44a95cab96d8b91f43afc3
3
+ metadata.gz: dce6c4eb73575542179fb0ad403d3d730abc9efa
4
+ data.tar.gz: 5572592f8aa53d04fc2c56569497f04792756550
5
5
  SHA512:
6
- metadata.gz: c01b818108bf6fc8b107a2dc25998caa5542cd9a710b871fd93ae33009e0441e559a43cbaefa314c9f74928b6cbdba606a31004ac0a73c0ba32b93cf413d85e4
7
- data.tar.gz: 29cf2986998e375cc4a00f971beae2d40f5c43d50ba361c4a0fe481fefc2c846590ce0d478b66dd381ac156f0bf9a88cefcc56f9ec20bc5edb865e473e327ed5
6
+ metadata.gz: c84337bb9c57a1c9d77dcdff6d626692f4cdc2dae2a9091d014a13956f3b71e22e9012b7a999dc4bca4c086505a46a51056a066c8114fd14a35a2135556f9faa
7
+ data.tar.gz: 3d9e91062b5eb57aa9cac9ab26cebe4de3b04261443892ded6013e019683c006b9e92f43194f3b6d0d1f8ae6da773e842c4225e2377ce63fb9bf3a964eb18d27
@@ -120,11 +120,31 @@ module Grac
120
120
  private
121
121
 
122
122
  def build_and_run(method, options = {})
123
- body = options[:body].nil? || options[:body].empty? ? nil : options[:body].to_json
123
+ body = prepare_body_by_content_type(options[:body])
124
124
  params = @options[:params].merge(options[:params] || {})
125
125
  return middleware_chain.call(@options, uri, method, params, body)
126
126
  end
127
127
 
128
+ def headers
129
+ @options[:headers] || {}
130
+ end
131
+
132
+ def prepare_body_by_content_type(body)
133
+ return nil if body.nil? || body.empty?
134
+
135
+ case headers['Content-Type']
136
+ when /\Aapplication\/json/
137
+ return body.to_json
138
+ when /\Aapplication\/x-www-form-urlencoded/
139
+ # Typhoeus will take care of the encoding when receiving a hash
140
+ return body
141
+ else
142
+ # Do not encode other unknown Content-Types either.
143
+ # The default is JSON through the Content-Type header which is set by default.
144
+ return body
145
+ end
146
+ end
147
+
128
148
  def middleware_chain
129
149
  callee = self
130
150
 
@@ -1,3 +1,3 @@
1
1
  module Grac
2
- VERSION = "3.2.0"
2
+ VERSION = "3.3.0"
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.2.0
4
+ version: 3.3.0
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-10-28 00:00:00.000000000 Z
11
+ date: 2019-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -66,20 +66,34 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2.7'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.6.11
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.6.11
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rack-test
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '0.7'
89
+ version: 0.6.3
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '0.7'
96
+ version: 0.6.3
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: oj
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -140,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
154
  version: '0'
141
155
  requirements: []
142
156
  rubyforge_project:
143
- rubygems_version: 2.4.8
157
+ rubygems_version: 2.2.2
144
158
  signing_key:
145
159
  specification_version: 4
146
160
  summary: Very generic client for REST API with basic error handling