cortex-client 0.0.1 → 0.1.0

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