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 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