caplinked-api 0.1.1 → 0.2.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: 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.