cortex-client 0.10.0 → 0.10.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: b344d2092431f0f6f392a2f1ca342ce0e70f6705
4
- data.tar.gz: c501c028bb02bee309120a3624a345114e5b6865
3
+ metadata.gz: 768df683d683b218c75ebbae0b67927dce32e211
4
+ data.tar.gz: fbf51535a0892d97853ed8a59833bdc36857f1d4
5
5
  SHA512:
6
- metadata.gz: 27a6bf2e5747a8a412bdd9a337b0209e4fdeac13ec1e0c0a5510567a904d354c4877963fdfcdd12d6797e252b0aa0a40d47f35101ea137285e9ccef730e3c781
7
- data.tar.gz: 98ab2b349ef4391bc14b87d31a5ca07e18e9e6d67fedb31d409e267bb19ddf634948ed2bceca13aafbac95d277331e681e41d1a5925abd9ce87e738fbefd7d2b
6
+ metadata.gz: 8ee64ea46efce98f7de179cf14989fa2de44325d57b0fe1c859815cf0e07e842062c0a08382539693ddabe67cb86054b572b85264b9372287e2756de676cb501
7
+ data.tar.gz: 2a8b2dd854f242b77b6dda313c8fb4e03e18e31df157c0cd256805ea5a7a8433062bb836dfb429aac2e1a69970fc7b173c57e3a6e942af635ebf4310ba8187c5
@@ -0,0 +1,9 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 2
6
+ end_of_line = lf
7
+ insert_final_newline = true
8
+ charset = utf-8
9
+ trim_trailing_whitespace = true
@@ -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.0'
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'
@@ -20,7 +20,7 @@ module Cortex
20
20
  include Cortex::Request
21
21
 
22
22
  def initialize(hasharg)
23
- @base_url = hasharg[:base_url] || 'https://cbcortex.com/api/v1'
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
@@ -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::OAuth2, access_token.is_a?(OAuth2::AccessToken) ? access_token.token : access_token
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.use ::FaradayMiddleware::Mashify
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
@@ -1,3 +1,3 @@
1
1
  module Cortex
2
- VERSION = '0.10.0'
2
+ VERSION = '0.10.1'
3
3
  end
@@ -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
- it 'should work with special characters' do
22
- expect { client.posts.get_published('1 post') }.to_not raise_error(URI::InvalidURIError)
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
 
@@ -1,6 +1,7 @@
1
- require 'ostruct'
1
+ require 'webmock/rspec'
2
+
2
3
  require_relative '../lib/cortex-client'
3
4
 
4
5
  RSpec.configure do |config|
5
6
  config.mock_framework = :mocha
6
- end
7
+ end
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.0
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-17 00:00:00.000000000 Z
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.0
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.0
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