cortex-client 0.0.1 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41847c330727c0f3a25df922c1292b400db9ce98
4
- data.tar.gz: 3b39f6070431624e18073815334687d4c904b602
3
+ metadata.gz: 14e4d0039502bbee65900225823ccd7f958b0981
4
+ data.tar.gz: ac459ec522c256092704e54c9158d07e056d3281
5
5
  SHA512:
6
- metadata.gz: 4c47e73cac0f6bc9ebc975c87c9b077f07a074cc34107e2a66a88ac625c82ee8dc9d7c03106f143acef9dca84c610bbd212ef4237a1dc8abd0b4c29b91f5eb0f
7
- data.tar.gz: c0f4e097b734d8a470ef9fd8d59728ff3743f72365c2a78ca29622bc09beb46b8f796337bdf82f560e618ccc17918c9f1f643401efb977fed478b8d61c51cb25
6
+ metadata.gz: 3afa800d12de8481d5e230c10188fdbeee788bb8ed5fb645ee928cd3006d53c6e8f6b92daf2aa4919fdad65e0bd9c8827968a2ba33b40e5ab9925ff7b9653d4c
7
+ data.tar.gz: dc6cac4fde0ecaf8044b0ae0c518f637b60e0b9bcb7c669e0278d5a556779021069cd71b78bcef3d1ad3d4c58cd0efa41471237fb37d93a52c252879f790db22
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ notifications:
5
+ recipients:
6
+ - nivardus@gmail.com
@@ -1,19 +1,30 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cortex-client (0.0.1)
5
- faraday (~> 0.8.9)
4
+ cortex-client (0.1.0)
5
+ faraday (~> 0.9)
6
6
  faraday_middleware (~> 0.9.0)
7
+ oauth2 (~> 0.9)
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
10
11
  specs:
11
12
  diff-lcs (1.2.5)
12
- faraday (0.8.9)
13
- multipart-post (~> 1.2.0)
14
- faraday_middleware (0.9.0)
15
- faraday (>= 0.7.4, < 0.9)
16
- multipart-post (1.2.0)
13
+ faraday (0.9.0)
14
+ multipart-post (>= 1.2, < 3)
15
+ faraday_middleware (0.9.1)
16
+ faraday (>= 0.7.4, < 0.10)
17
+ jwt (1.0.0)
18
+ multi_json (1.10.1)
19
+ multi_xml (0.5.5)
20
+ multipart-post (2.0.0)
21
+ oauth2 (0.9.4)
22
+ faraday (>= 0.8, < 0.10)
23
+ jwt (~> 1.0)
24
+ multi_json (~> 1.3)
25
+ multi_xml (~> 0.5)
26
+ rack (~> 1.2)
27
+ rack (1.5.2)
17
28
  rake (10.2.2)
18
29
  rspec (2.14.1)
19
30
  rspec-core (~> 2.14.0)
data/README.md CHANGED
@@ -1,18 +1,26 @@
1
1
  # cortex-client
2
+
3
+ [![Build Status](https://travis-ci.org/cb-talent-development/cortex-client.svg)](https://travis-ci.org/cb-talent-development/cortex-client)
4
+ [![Gem Version](https://badge.fury.io/rb/cortex-client.svg)](http://badge.fury.io/rb/cortex-client)
5
+
2
6
  Ruby client library for [cortex](https://github.com/cb-talent-development/cortex)'s API.
3
7
 
4
- cortex-client does not handle fetching or refreshing an OAuth access_token. For this use a library such as [OAuth](http://oauth.rubyforge.org/).
8
+ **0.1 Changes the constructor**
9
+
10
+ Please note that 0.1.0 and onward now require a hash be passed. You can access the previous functionality with the access_token key:
5
11
 
6
12
  ```ruby
7
13
  require 'cortex-client'
8
14
 
9
- client = Cortex::Client.new(access_token)
15
+ client = Cortex::Client.new(access_token: access_token)
10
16
 
11
17
  client.posts.query().each do |post|
12
18
  puts post
13
19
  end
14
20
  ```
15
21
 
22
+ Alternatively, cortex-client will handle
23
+
16
24
  ### Supported Endpoints
17
25
 
18
26
  - *Users* - me, get ,save
@@ -16,6 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.add_development_dependency 'rake'
17
17
  s.add_development_dependency 'rspec'
18
18
 
19
- s.add_dependency 'faraday', '~> 0.8.9'
19
+ s.add_dependency 'faraday', '~> 0.9'
20
20
  s.add_dependency 'faraday_middleware', '~> 0.9.0'
21
+ s.add_dependency 'oauth2', '~>0.9'
21
22
  end
@@ -3,20 +3,34 @@ require 'cortex/request'
3
3
  require 'cortex/resource'
4
4
  require 'cortex/posts'
5
5
  require 'cortex/users'
6
+ require 'oauth2'
6
7
 
7
8
  module Cortex
8
9
  class Client
9
10
  attr_reader :posts, :users
10
- attr_accessor :access_token, :base_url
11
+ attr_accessor :access_token, :base_url, :auth_method
12
+ @key = ''
13
+ @secret = ''
11
14
 
12
15
  include Cortex::Connection
13
16
  include Cortex::Request
14
17
 
15
- def initialize(access_token, base_url = 'https://cbcortex.com/api/v1')
16
- @access_token = access_token
17
- @base_url = base_url
18
+ def initialize(hasharg)
19
+ @base_url = hasharg[:base_url] || 'https://cbcortex.com/api/v1/'
20
+ if hasharg.has_key? :access_token
21
+ @access_token = hasharg[:access_token]
22
+ else
23
+ @key = hasharg[:key]
24
+ @secret = hasharg[:secret]
25
+ @access_token = get_cc_token
26
+ end
18
27
  @posts = Cortex::Posts.new(self)
19
28
  @users = Cortex::Users.new(self)
20
29
  end
30
+
31
+ def get_cc_token
32
+ client = OAuth2::Client.new(@key, @secret, site: @base_url)
33
+ client.client_credentials.get_token
34
+ end
21
35
  end
22
36
  end
@@ -10,8 +10,13 @@ module Cortex
10
10
  },
11
11
  :url => base_url
12
12
  }
13
+
14
+ if access_token.is_a?(OAuth2::AccessToken) && access_token.expired?
15
+ @access_token = get_cc_token
16
+ end
17
+
13
18
  Faraday.new options do |conn|
14
- conn.request :oauth2, access_token
19
+ conn.request :oauth2, access_token.is_a?(OAuth2::AccessToken) ? access_token.token : access_token
15
20
  conn.request :json
16
21
  conn.response :json, :content_type => /\bjson$/
17
22
  conn.adapter Faraday.default_adapter
@@ -4,6 +4,10 @@ module Cortex
4
4
  client.get('/posts')
5
5
  end
6
6
 
7
+ def feed
8
+ client.get('/posts/feed')
9
+ end
10
+
7
11
  def get(id)
8
12
  client.get("/posts/#{id}")
9
13
  end
@@ -1,3 +1,3 @@
1
1
  module Cortex
2
- VERSION = '0.0.1'
2
+ VERSION = '0.1.0'
3
3
  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.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bennett Goble
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-10 00:00:00.000000000 Z
11
+ date: 2014-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.8.9
47
+ version: '0.9'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.8.9
54
+ version: '0.9'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: faraday_middleware
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -66,12 +66,27 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.9.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: oauth2
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.9'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.9'
69
83
  description:
70
84
  email:
71
85
  executables: []
72
86
  extensions: []
73
87
  extra_rdoc_files: []
74
88
  files:
89
+ - ".travis.yml"
75
90
  - Gemfile
76
91
  - Gemfile.lock
77
92
  - LICENSE
@@ -111,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
126
  version: '0'
112
127
  requirements: []
113
128
  rubyforge_project:
114
- rubygems_version: 2.2.1
129
+ rubygems_version: 2.2.2
115
130
  signing_key:
116
131
  specification_version: 4
117
132
  summary: Cortex API Client