File tree Expand file tree Collapse file tree 4 files changed +22
-4
lines changed
Expand file tree Collapse file tree 4 files changed +22
-4
lines changed Original file line number Diff line number Diff line change @@ -18,8 +18,10 @@ Gem::Specification.new do |s|
1818 s . add_development_dependency 'rspec' , '~> 3.5'
1919 s . add_development_dependency 'mocha' , '~> 1.2'
2020
21+ s . add_dependency 'oauth2' , '~> 1.1.0'
2122 s . add_dependency 'faraday' , '~> 0.9'
2223 s . add_dependency 'faraday_middleware' , '~> 0.10'
23- s . add_dependency 'cortex-exceptions ' , '~> 0.0.4 '
24+ s . add_dependency 'addressable ' , '~> 2.5 '
2425 s . add_dependency 'hashie' , '~> 3.4'
26+ s . add_dependency 'cortex-exceptions' , '~> 0.0.4'
2527end
Original file line number Diff line number Diff line change 1+ require 'oauth2'
2+
13require 'cortex/connection'
24require 'cortex/request'
35require 'cortex/resource'
@@ -25,10 +27,20 @@ def initialize(hasharg)
2527 @key = hasharg [ :key ]
2628 @secret = hasharg [ :secret ]
2729 @scopes ||= hasharg [ :scopes ]
30+ @access_token = get_cc_token
2831 end
2932 @posts = Cortex ::Posts . new ( self )
3033 @users = Cortex ::Users . new ( self )
3134 @webpages = Cortex ::Webpages . new ( self )
3235 end
36+
37+ def get_cc_token
38+ begin
39+ client = OAuth2 ::Client . new ( @key , @secret , site : @base_url )
40+ client . client_credentials . get_token ( { scope : @scopes } )
41+ rescue Faraday ::ConnectionFailed
42+ raise Cortex ::Exceptions ::ConnectionFailed . new ( base_url : @base_url )
43+ end
44+ end
3345 end
3446end
Original file line number Diff line number Diff line change 11require 'faraday'
22require 'faraday_middleware'
3+ require 'addressable/uri'
4+
35require 'cortex/faraday_middleware/response_failures'
46
57module Cortex
@@ -16,20 +18,21 @@ def connection
1618 @access_token = get_cc_token
1719 end
1820
21+ Faraday ::Utils . default_uri_parser = Addressable ::URI
1922 Faraday . new options do |conn |
2023 # Hello, temporal coupling. Order matters here.
2124
22- # Request middleware first:
25+ ## Request middleware first:
2326 conn . use ::FaradayMiddleware ::OAuth2 , access_token . is_a? ( OAuth2 ::AccessToken ) ? access_token . token : access_token
2427
25- # Response middleware second:
28+ ## Response middleware second:
2629 conn . use ::FaradayMiddleware ::Mashify
2730 conn . use Cortex ::FaradayMiddleware ::ResponseFailures
2831
2932 conn . request :json
3033 conn . response :json , :content_type => /\b json$/
3134
32- # Adapter always last:
35+ ## Adapter always last:
3336 conn . adapter Faraday . default_adapter
3437 end
3538 end
Original file line number Diff line number Diff line change 11require 'faraday'
2+
23require 'cortex/exceptions'
34
45module Cortex
You can’t perform that action at this time.
0 commit comments