caplinked-api 0.1.1 → 0.2.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: c13909d83b873d514d109dcec83f91883a0ba90a
4
- data.tar.gz: ecbee1c33fac70d8057f8291ba2df1f7f29947f7
3
+ metadata.gz: 9a246e596746f56c885e545285546dafc71bc019
4
+ data.tar.gz: c6e3ef73bd02fb2a64286e496e8d5c550f8c9366
5
5
  SHA512:
6
- metadata.gz: 7b529cb7d50822e5f8a7dace2bc9d718331a8c4896b67b867738e03180ae028c7f3d4be1d556b3d83a7fb8fa98384540910c57bec3de6a30434f597399d81f71
7
- data.tar.gz: 1e9d9dd21a97c7a4f0f1b775a4651f8450b9dd9a85c67122699eb19370c20848b1238310cda536d0b2ffb72fee5313c2f1ff1e14f8d009c0a0c7971b443914c8
6
+ metadata.gz: b5166ac3453bcc6126ffb6b5aac5ca2f94889522db7f51fd55777f4246fc06367835b2923ca6668113619a38e65f9e560d7ea86a1df4114a99bee1314d66f28d
7
+ data.tar.gz: 961c9a18d1ffb959fd850eda834af29d242b2ce060fc8083eaa8318966bd3522f5b1400b6a82d6c5d924489d406c1f7a426fec89f7f14ba50bb68922cee070dc
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # caplinked-api
2
2
 
3
- Ruby SDK for Caplinked's API
3
+ Ruby SDK for Caplinked's API
4
4
  Documentation at https://developer.caplinked.com/docs
5
5
 
6
6
  ## Quick start guide:
@@ -206,33 +206,33 @@ list_all_group_members = client.list_all_group_members id: group[:id], workspace
206
206
  Get organization info
207
207
 
208
208
  ```
209
- get_organization_info = client.get_organization_info id: organization[:id]
209
+ get_organization_info = client.get_organization_info
210
210
  ```
211
211
  Update organization info
212
212
 
213
213
  ```
214
- update_organization_info = client.update_organization_info id: organization[:id], name: 'name', description: 'description', location: 'location', billing_email: 'billing email address', url: 'url'
214
+ update_organization_info = client.update_organization_info name: 'name', description: 'description', location: 'location', billing_email: 'billing email address', url: 'url'
215
215
  ```
216
216
 
217
217
  Update organization support info
218
218
 
219
219
  ```
220
- update_organization_support_info = client.update_organization_support_info id: organization[:id], email: 'support email', phone_number: 'support phone number', website: 'support website'
220
+ update_organization_support_info = client.update_organization_support_info email: 'support email', phone_number: 'support phone number', website: 'support website'
221
221
  ```
222
222
  Add organization member
223
223
 
224
224
  ```
225
- add_organization_member = client.add_organization_member id: organization[:id], user_id: user[:id]
225
+ add_organization_member = client.add_organization_member user_id: user[:id]
226
226
  ```
227
227
  remove organization member
228
228
 
229
229
  ```
230
- remove_organization_member = client.remove_organization_member id: 4639, user_id: 101
230
+ remove_organization_member = client.remove_organization_member user_id: 101
231
231
  ```
232
232
  show organization members
233
233
 
234
234
  ```
235
- show_organization_members = client.show_organization_members id: organization[:id]
235
+ show_organization_members = client.show_organization_members
236
236
  ```
237
237
 
238
238
  ##Permissions
@@ -255,6 +255,12 @@ Create team
255
255
  ```
256
256
  create_team = client.create_team team: { name: 'name', allowed_workspaces: 5, allowed_admins: 5, drm_enabled: false, watermarking: false, suppress_emails: false }
257
257
  ```
258
+ Get list of teams within the organization
259
+
260
+ ```
261
+ get_team_list = client.get_list_of_teams
262
+ ```
263
+
258
264
  Get team info
259
265
 
260
266
  ```
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
  spec.require_paths = %w(lib)
17
17
  spec.required_ruby_version = '>= 1.9.3'
18
18
 
19
- spec.add_dependency 'activesupport', '~> 4.0'
19
+ spec.add_dependency 'activesupport', '>= 4.0'
20
20
  spec.add_dependency 'addressable', '~> 2.3'
21
21
  spec.add_dependency 'http', '~> 2.0'
22
22
  spec.add_dependency 'http-form_data', '~> 1.0'
@@ -4,7 +4,7 @@ module Caplinked
4
4
 
5
5
  class << self
6
6
  def from_response(body, headers)
7
- new(body[:error]['code'], body[:error]['message'], headers)
7
+ new(body[:error][:code], body[:error][:message], headers)
8
8
  end
9
9
  end
10
10
 
@@ -16,30 +16,27 @@ module Caplinked
16
16
  end
17
17
 
18
18
  def perform
19
- headers = (@options.delete(:headers) || {}).merge('X-Token' => client.api_key)
19
+ headers = (@options.delete(:headers) || {}).merge('X-Token' => @client.api_key)
20
20
  @uri.query_values = @options.delete(:params)
21
21
  response = HTTP.headers(headers).request(@request_method, @uri.to_s, @options)
22
- if response.parse.class == Hash
23
- response_body = response.body.empty? ? '' : response.parse.symbolize_keys!
24
- else
25
- response_body = response.body.empty? ? '' : response.parse
26
- end
22
+ response_body = response.body.empty? ? '' : change_keys_to_symbols(response.parse)
27
23
  response_headers = response.headers
28
24
  fail_or_return_response_body(response.code, response_body, response_headers)
29
25
  end
30
26
 
31
27
  private
32
- def fail_or_return_response_body(code, body, headers)
33
- if body.class == Hash
34
- raise(Caplinked::Error.from_response(body, headers)) if body[:error].present?
28
+ def change_keys_to_symbols(parsed_response)
29
+ if parsed_response.is_a?(Hash)
30
+ parsed_response.deep_symbolize_keys
31
+ elsif parsed_response.is_a?(Array)
32
+ parsed_response.map { |h| h.deep_symbolize_keys }
35
33
  else
36
- if body[0].present?
37
- raise(Caplinked::Error.from_response(body, headers)) if body[0][:error].present?
38
- else
39
- raise(Caplinked::Error.from_response(body, headers)) if body[0].try([:error]).present?
40
- end
34
+ parsed_response
41
35
  end
36
+ end
42
37
 
38
+ def fail_or_return_response_body(code, body, headers)
39
+ raise(Caplinked::Error.from_response(body, headers)) if body.is_a?(Hash) && body[:error].present?
43
40
  body
44
41
  end
45
42
  end
@@ -3,42 +3,34 @@ module Caplinked
3
3
  module Organizations
4
4
 
5
5
  def get_organization_info(options = {})
6
- params = options.stringify_keys.slice('id')
7
- id = params.delete('id')
8
- perform_get('/api/v1/organizations/' + id.to_s, nil )
6
+ perform_get('/api/v1/organization')
9
7
  end
10
8
 
11
9
  def update_organization_info(options = {})
12
10
  params = {}
13
- body = options.stringify_keys.slice('id', 'name', 'description', 'location', 'billing_email', 'url')
14
- id = body.delete('id')
15
- perform_put('/api/v1/organizations/' + id.to_s, params, body.to_json, { 'Content-Type' => 'application/json' } )
11
+ body = options.stringify_keys.slice('name', 'description', 'location', 'billing_email', 'url')
12
+ perform_put('/api/v1/organization', params, body.to_json, { 'Content-Type' => 'application/json' } )
16
13
  end
17
14
 
18
15
  def update_organization_support_info(options = {})
19
16
  params = {}
20
- body = options.stringify_keys.slice('id', 'phone_number', 'email', 'website')
21
- id = body.delete('id')
22
- perform_put('/api/v1/organizations/' + id.to_s + '/support_information', params, body.to_json, { 'Content-Type' => 'application/json' } )
17
+ body = options.stringify_keys.slice('phone_number', 'email', 'website')
18
+ perform_put('/api/v1/organization/support_information', params, body.to_json, { 'Content-Type' => 'application/json' } )
23
19
  end
24
20
 
25
21
  def add_organization_member(options = {})
26
22
  params = {}
27
- body = options.stringify_keys.slice('id', 'user_id')
28
- id = body.delete('id')
29
- perform_post('/api/v1/organizations/' + id.to_s + '/memberships', params, body.to_json, { 'Content-Type' => 'application/json' } )
23
+ body = options.stringify_keys.slice('user_id')
24
+ perform_post('/api/v1/organization/memberships', params, body.to_json, { 'Content-Type' => 'application/json' } )
30
25
  end
31
26
 
32
27
  def remove_organization_member(options = {})
33
- params = options.stringify_keys.slice('id', 'user_id')
34
- id = params.delete('id')
35
- perform_delete('/api/v1/organizations/' + id.to_s + '/memberships', params )
28
+ params = options.stringify_keys.slice('user_id')
29
+ perform_delete('/api/v1/organization/memberships', params )
36
30
  end
37
31
 
38
32
  def show_organization_members(options = {})
39
- params = options.stringify_keys.slice('id')
40
- id = params.delete('id')
41
- perform_get('/api/v1/organizations/' + id.to_s + '/memberships', nil )
33
+ perform_get('/api/v1/organization/memberships', nil )
42
34
  end
43
35
  end
44
36
  end
@@ -7,6 +7,10 @@ module Caplinked
7
7
  perform_post('/api/v1/teams', nil, body.to_json, {'Content-Type' => 'application/json'} )
8
8
  end
9
9
 
10
+ def get_list_of_teams(options = {})
11
+ perform_get('/api/v1/teams')
12
+ end
13
+
10
14
  def get_team_info(options = {})
11
15
  params = options.stringify_keys.slice('id')
12
16
  id = params.delete('id')
@@ -9,12 +9,12 @@ module Caplinked
9
9
 
10
10
  # @return [Integer]
11
11
  def minor
12
- 1
12
+ 2
13
13
  end
14
14
 
15
15
  # @return [Integer]
16
16
  def patch
17
- 1
17
+ 0
18
18
  end
19
19
 
20
20
  # @return [Integer, NilClass]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caplinked-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordan Fowler
@@ -9,76 +9,76 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-12-14 00:00:00.000000000 Z
12
+ date: 2017-01-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - '>='
19
19
  - !ruby/object:Gem::Version
20
20
  version: '4.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - "~>"
25
+ - - '>='
26
26
  - !ruby/object:Gem::Version
27
27
  version: '4.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: addressable
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ~>
33
33
  - !ruby/object:Gem::Version
34
34
  version: '2.3'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - ~>
40
40
  - !ruby/object:Gem::Version
41
41
  version: '2.3'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: http
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ~>
47
47
  - !ruby/object:Gem::Version
48
48
  version: '2.0'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ~>
54
54
  - !ruby/object:Gem::Version
55
55
  version: '2.0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: http-form_data
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - "~>"
60
+ - - ~>
61
61
  - !ruby/object:Gem::Version
62
62
  version: '1.0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
69
  version: '1.0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: bundler
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - "~>"
74
+ - - ~>
75
75
  - !ruby/object:Gem::Version
76
76
  version: '1.0'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - "~>"
81
+ - - ~>
82
82
  - !ruby/object:Gem::Version
83
83
  version: '1.0'
84
84
  description: Ruby SDK for Caplinked's API.
@@ -90,7 +90,6 @@ extra_rdoc_files: []
90
90
  files:
91
91
  - README.md
92
92
  - caplinked-api.gemspec
93
- - lib/caplinked-api.rb
94
93
  - lib/caplinked/client.rb
95
94
  - lib/caplinked/error.rb
96
95
  - lib/caplinked/request.rb
@@ -107,6 +106,7 @@ files:
107
106
  - lib/caplinked/rest/workspaces.rb
108
107
  - lib/caplinked/utils.rb
109
108
  - lib/caplinked/version.rb
109
+ - lib/caplinked-api.rb
110
110
  homepage: https://github.com/caplinked/caplinked-api-ruby
111
111
  licenses:
112
112
  - MIT
@@ -117,17 +117,17 @@ require_paths:
117
117
  - lib
118
118
  required_ruby_version: !ruby/object:Gem::Requirement
119
119
  requirements:
120
- - - ">="
120
+ - - '>='
121
121
  - !ruby/object:Gem::Version
122
122
  version: 1.9.3
123
123
  required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - ">="
125
+ - - '>='
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
128
  requirements: []
129
129
  rubyforge_project:
130
- rubygems_version: 2.4.5
130
+ rubygems_version: 2.0.14
131
131
  signing_key:
132
132
  specification_version: 4
133
133
  summary: Ruby SDK for Caplinked's API.