cortex-client 0.10.0 → 0.10.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 +4 -4
- data/.editorconfig +9 -0
- data/cortex-client.gemspec +2 -1
- data/lib/cortex/client.rb +1 -1
- data/lib/cortex/connection.rb +5 -5
- data/lib/cortex/faraday_middleware/normalize_uri_path.rb +14 -0
- data/lib/cortex/version.rb +1 -1
- data/spec/posts_spec.rb +11 -4
- data/spec/spec_helper.rb +3 -2
- metadata +20 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 768df683d683b218c75ebbae0b67927dce32e211
|
4
|
+
data.tar.gz: fbf51535a0892d97853ed8a59833bdc36857f1d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ee64ea46efce98f7de179cf14989fa2de44325d57b0fe1c859815cf0e07e842062c0a08382539693ddabe67cb86054b572b85264b9372287e2756de676cb501
|
7
|
+
data.tar.gz: 2a8b2dd854f242b77b6dda313c8fb4e03e18e31df157c0cd256805ea5a7a8433062bb836dfb429aac2e1a69970fc7b173c57e3a6e942af635ebf4310ba8187c5
|
data/.editorconfig
ADDED
data/cortex-client.gemspec
CHANGED
@@ -17,8 +17,9 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.add_development_dependency 'rake', '~> 12.0'
|
18
18
|
s.add_development_dependency 'rspec', '~> 3.5'
|
19
19
|
s.add_development_dependency 'mocha', '~> 1.2'
|
20
|
+
s.add_development_dependency 'webmock', '~> 2.3'
|
20
21
|
|
21
|
-
s.add_dependency 'oauth2', '~> 1.1
|
22
|
+
s.add_dependency 'oauth2', '~> 1.1'
|
22
23
|
s.add_dependency 'faraday', '~> 0.9'
|
23
24
|
s.add_dependency 'faraday_middleware', '~> 0.10'
|
24
25
|
s.add_dependency 'addressable', '~> 2.5'
|
data/lib/cortex/client.rb
CHANGED
@@ -20,7 +20,7 @@ module Cortex
|
|
20
20
|
include Cortex::Request
|
21
21
|
|
22
22
|
def initialize(hasharg)
|
23
|
-
@base_url = hasharg[:base_url] || '
|
23
|
+
@base_url = hasharg[:base_url] || 'http://cortex.dev/api/v1'
|
24
24
|
if hasharg.has_key? :access_token
|
25
25
|
@access_token = hasharg[:access_token]
|
26
26
|
else
|
data/lib/cortex/connection.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'faraday'
|
2
2
|
require 'faraday_middleware'
|
3
|
-
require 'addressable/uri'
|
4
3
|
require 'hashie/mash'
|
5
4
|
|
6
5
|
require 'cortex/faraday_middleware/response_failures'
|
6
|
+
require 'cortex/faraday_middleware/normalize_uri_path'
|
7
7
|
|
8
8
|
module Cortex
|
9
9
|
module Connection
|
@@ -22,13 +22,13 @@ module Cortex
|
|
22
22
|
Faraday::Utils.default_uri_parser = Addressable::URI
|
23
23
|
Faraday.new options do |conn|
|
24
24
|
## Request middleware first:
|
25
|
-
conn.use ::FaradayMiddleware::
|
25
|
+
conn.use Cortex::FaradayMiddleware::NormalizeURIPath
|
26
|
+
conn.request :oauth2, access_token.is_a?(OAuth2::AccessToken) ? access_token.token : access_token
|
27
|
+
conn.request :json
|
26
28
|
|
27
29
|
## Response middleware second:
|
28
|
-
conn.
|
30
|
+
conn.response :mashify
|
29
31
|
conn.use Cortex::FaradayMiddleware::ResponseFailures
|
30
|
-
|
31
|
-
conn.request :json
|
32
32
|
conn.response :json, :content_type => /\bjson$/
|
33
33
|
|
34
34
|
## Adapter always last:
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'faraday/middleware'
|
2
|
+
require 'addressable/uri'
|
3
|
+
|
4
|
+
module Cortex
|
5
|
+
module FaradayMiddleware
|
6
|
+
class NormalizeURIPath < Faraday::Middleware
|
7
|
+
def call(env)
|
8
|
+
env[:url].path = Addressable::URI.normalize_component(env[:url].path)
|
9
|
+
|
10
|
+
@app.call env
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/lib/cortex/version.rb
CHANGED
data/spec/posts_spec.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
RSpec.describe Cortex::Posts do
|
4
|
-
|
5
|
-
# TODO: Stub out Faraday somewhere. See: https://github.com/lostisland/faraday#using-faraday-for-testing
|
6
4
|
let(:client) { Cortex::Client.new(access_token: '123') }
|
7
5
|
|
8
6
|
describe :get do
|
@@ -18,8 +16,17 @@ RSpec.describe Cortex::Posts do
|
|
18
16
|
expect(client.posts.get_published(1)).to eq('response')
|
19
17
|
end
|
20
18
|
|
21
|
-
|
22
|
-
|
19
|
+
context 'with special characters' do
|
20
|
+
let!(:stubbed_request) { stub_request(:get, 'http://cortex.dev/api/v1/posts/feed/1%20post?access_token=123') }
|
21
|
+
|
22
|
+
it 'should correctly make the request' do
|
23
|
+
client.posts.get_published('1 post')
|
24
|
+
expect(stubbed_request).to have_been_made.once
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should not be considered an invalid URI' do
|
28
|
+
expect { client.posts.get_published('1 post') }.to_not raise_error(URI::InvalidURIError)
|
29
|
+
end
|
23
30
|
end
|
24
31
|
end
|
25
32
|
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cortex-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- CareerBuilder Employer Site & Content Products
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -52,20 +52,34 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.2'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: webmock
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.3'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.3'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: oauth2
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.1
|
75
|
+
version: '1.1'
|
62
76
|
type: :runtime
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.1
|
82
|
+
version: '1.1'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: faraday
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,6 +157,7 @@ executables: []
|
|
143
157
|
extensions: []
|
144
158
|
extra_rdoc_files: []
|
145
159
|
files:
|
160
|
+
- ".editorconfig"
|
146
161
|
- ".travis.yml"
|
147
162
|
- CHANGELOG.md
|
148
163
|
- Gemfile
|
@@ -154,6 +169,7 @@ files:
|
|
154
169
|
- lib/cortex/client.rb
|
155
170
|
- lib/cortex/client_exceptions.rb
|
156
171
|
- lib/cortex/connection.rb
|
172
|
+
- lib/cortex/faraday_middleware/normalize_uri_path.rb
|
157
173
|
- lib/cortex/faraday_middleware/response_failures.rb
|
158
174
|
- lib/cortex/posts.rb
|
159
175
|
- lib/cortex/request.rb
|