we-call 0.6.0.pre.alpha.1 → 0.6.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/README.md +2 -3
- data/lib/we/call/connection.rb +20 -10
- data/lib/we/call/version.rb +1 -1
- data/we-call.gemspec +2 -1
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d78d029728e8e0fa159897a40a4e618127f8baa
|
4
|
+
data.tar.gz: 7d19119651d934580795b9ae0f94a758048406cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5f90f915b325d61ccdfc43c896e4b4354d83a1ba47deade642411ab89316159c56ceda5aeda2813e223d3f5eb769e5e298155bbf632430d870a72110c683451
|
7
|
+
data.tar.gz: a1952d2146232bb7f6a78d78394bed9b48d8b82f1bbfbba681dcd17b1495b3d54001456e30ba32608bb311bd953f4321773e50978e945c8818176a6b2fe93ae9
|
data/README.md
CHANGED
@@ -157,7 +157,6 @@ _For now this gem requires Rails 4.2+ due to some ActiveController functionality
|
|
157
157
|
- [ ] Support adding href to Deprecate to make a `Link` with rel=sunset as per Sunset RFC draft 03
|
158
158
|
- [ ] Remove Rails as a dependency (soft requirement on `ActiveSupport::Deprecated` is fine)
|
159
159
|
- [x] Split DetectDeprecations into standalone [faraday-sunset] gem
|
160
|
-
- [ ] Pass Trace IDs along
|
161
160
|
- [ ] Work on sane defaults for retries and error raising
|
162
161
|
|
163
162
|
[faraday-sunset]: https://github.com/philsturgeon/faraday-sunset
|
@@ -167,12 +166,12 @@ _For now this gem requires Rails 4.2+ due to some ActiveController functionality
|
|
167
166
|
To run tests and modify locally, you'll want to `bundle install` in this directory.
|
168
167
|
|
169
168
|
```
|
170
|
-
bundle exec rspec
|
169
|
+
bundle exec appraisal rspec
|
171
170
|
```
|
172
171
|
|
173
172
|
## Development
|
174
173
|
|
175
|
-
If you want to test this gem within an application, update your Gemfile to have something like this: `gem 'we-call', github: 'wework/we-call', branch: 'BRANCHNAME'` and set your local config: `bundle config --local local.we-call path/to/we-call`
|
174
|
+
If you want to test this gem within an application, update your Gemfile to have something like this: `gem 'we-call', github: 'wework/we-call-gem', branch: 'BRANCHNAME'` and set your local config: `bundle config --local local.we-call path/to/we-call-gem`
|
176
175
|
|
177
176
|
Simply revert the Gemfile change (updating the version as necessary!) and remove the config with `bundle config --delete local.we-call`.
|
178
177
|
|
data/lib/we/call/connection.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'faraday'
|
2
2
|
require 'faraday-sunset'
|
3
|
+
require 'typhoeus'
|
4
|
+
require 'typhoeus/adapters/faraday'
|
3
5
|
|
4
6
|
module We
|
5
7
|
module Call
|
@@ -8,14 +10,17 @@ module We
|
|
8
10
|
|
9
11
|
OPEN_TIMEOUT = 2
|
10
12
|
|
13
|
+
# We use typhoeus instead of default NetHTTP so we can control how many retries are made
|
14
|
+
# https://github.com/lostisland/faraday/issues/612
|
15
|
+
DEFAULT_ADAPTER_CLASS = Faraday::Adapter::Typhoeus
|
16
|
+
DEFAULT_ADAPTER = :typhoeus
|
17
|
+
|
11
18
|
class MissingApp < ArgumentError; end
|
12
19
|
class MissingEnv < ArgumentError; end
|
13
20
|
class MissingTimeout < ArgumentError; end
|
14
21
|
class MissingOpenTimeout < ArgumentError; end
|
15
22
|
|
16
|
-
|
17
|
-
|
18
|
-
QueryableBuilder = Class.new(parent_builder_class) do
|
23
|
+
QueryableBuilder = Class.new(Faraday::RackBuilder) do
|
19
24
|
def adapter?
|
20
25
|
@has_adapter || false
|
21
26
|
end
|
@@ -49,20 +54,25 @@ module We
|
|
49
54
|
def create
|
50
55
|
builder = QueryableBuilder.new(&Proc.new { |_| })
|
51
56
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
57
|
+
headers = {
|
58
|
+
'User-Agent' => app,
|
59
|
+
config.app_name_header => app,
|
60
|
+
config.app_env_header => env,
|
61
|
+
}
|
62
|
+
|
63
|
+
request = {
|
64
|
+
timeout: timeout,
|
65
|
+
open_timeout: open_timeout
|
66
|
+
}
|
58
67
|
|
68
|
+
Faraday.new(host, builder: builder, headers: headers, request: request) do |faraday|
|
59
69
|
if config.detect_deprecations
|
60
70
|
faraday.response :sunset, setup_sunset_middleware(faraday)
|
61
71
|
end
|
62
72
|
|
63
73
|
yield faraday if block_given?
|
64
74
|
|
65
|
-
faraday.adapter
|
75
|
+
faraday.adapter DEFAULT_ADAPTER unless faraday.builder.adapter?
|
66
76
|
end
|
67
77
|
end
|
68
78
|
|
data/lib/we/call/version.rb
CHANGED
data/we-call.gemspec
CHANGED
@@ -20,7 +20,8 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.bindir = "bin"
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
|
-
spec.add_dependency "
|
23
|
+
spec.add_dependency "typhoeus", "~> 1.3"
|
24
|
+
spec.add_dependency "faraday", ">= 0.9.0", "< 1.0"
|
24
25
|
spec.add_dependency "faraday_middleware", '~> 0'
|
25
26
|
spec.add_dependency "faraday-sunset", "~> 0.1.0"
|
26
27
|
spec.add_dependency "ruby_decorators", '~> 0.0'
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: we-call
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.0
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WeWork Engineering
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: typhoeus
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: faraday
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -19,7 +33,7 @@ dependencies:
|
|
19
33
|
version: 0.9.0
|
20
34
|
- - "<"
|
21
35
|
- !ruby/object:Gem::Version
|
22
|
-
version: '0
|
36
|
+
version: '1.0'
|
23
37
|
type: :runtime
|
24
38
|
prerelease: false
|
25
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +43,7 @@ dependencies:
|
|
29
43
|
version: 0.9.0
|
30
44
|
- - "<"
|
31
45
|
- !ruby/object:Gem::Version
|
32
|
-
version: '0
|
46
|
+
version: '1.0'
|
33
47
|
- !ruby/object:Gem::Dependency
|
34
48
|
name: faraday_middleware
|
35
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -245,9 +259,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
245
259
|
version: '0'
|
246
260
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
247
261
|
requirements:
|
248
|
-
- - "
|
262
|
+
- - ">="
|
249
263
|
- !ruby/object:Gem::Version
|
250
|
-
version:
|
264
|
+
version: '0'
|
251
265
|
requirements: []
|
252
266
|
rubyforge_project:
|
253
267
|
rubygems_version: 2.6.8
|