bridge_api 0.0.10 → 0.0.11
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 +4 -4
- data/Gemfile.lock +15 -9
- data/lib/bridge_api/api_array.rb +2 -2
- data/lib/bridge_api/client.rb +4 -1
- data/lib/bridge_api/client/data_dump.rb +17 -0
- data/lib/bridge_api/version.rb +1 -1
- data/spec/bridge_api/client/data_dump_spec.rb +26 -0
- data/spec/fixtures/data_dump.json +9 -0
- data/spec/fixtures/data_dumps.json +9 -0
- data/spec/support/fake_bridge.rb +14 -0
- metadata +11 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e97b036ecdf252f7e84b6031f3aa8dfd0cd7610b
|
4
|
+
data.tar.gz: 6a090874c4fac1e9b5136498ef7f5ead6966418c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db5215aa793422983809d8fb88f50165be6d72229d89e033ffe290be1c5af35ae8b136f63b9cf3918947ed51e2443e39e1390da5437c81bbc5fe6fdfc993f016
|
7
|
+
data.tar.gz: 87dac09e9d041a5cadc937a2c2b0bf1524e51c83e00a2b093cb2c3d4f223c033f509e365db0830ec608a30e032702dbab320f9b2728744acaf2e21c7a55eb351
|
data/Gemfile.lock
CHANGED
@@ -14,13 +14,14 @@ GEM
|
|
14
14
|
i18n (~> 0.7)
|
15
15
|
minitest (~> 5.1)
|
16
16
|
tzinfo (~> 1.1)
|
17
|
-
addressable (2.
|
18
|
-
|
17
|
+
addressable (2.5.0)
|
18
|
+
public_suffix (~> 2.0, >= 2.0.2)
|
19
|
+
byebug (8.2.5)
|
19
20
|
coderay (1.1.1)
|
20
21
|
concurrent-ruby (1.0.5)
|
21
22
|
crack (0.4.3)
|
22
23
|
safe_yaml (~> 1.0.0)
|
23
|
-
diff-lcs (1.
|
24
|
+
diff-lcs (1.3)
|
24
25
|
faraday (0.9.2)
|
25
26
|
multipart-post (>= 1.2, < 3)
|
26
27
|
faraday_middleware (0.9.2)
|
@@ -29,17 +30,20 @@ GEM
|
|
29
30
|
activesupport (>= 3.0.0)
|
30
31
|
faraday (~> 0.9.0)
|
31
32
|
link_header (>= 0.0.7)
|
32
|
-
hashdiff (0.2
|
33
|
+
hashdiff (0.3.2)
|
33
34
|
i18n (0.8.1)
|
34
35
|
link_header (0.0.8)
|
35
36
|
method_source (0.8.2)
|
36
37
|
minitest (5.10.1)
|
37
38
|
multipart-post (2.0.0)
|
38
|
-
pry (0.10.
|
39
|
+
pry (0.10.4)
|
39
40
|
coderay (~> 1.1.0)
|
40
41
|
method_source (~> 0.8.1)
|
41
42
|
slop (~> 3.4)
|
42
|
-
|
43
|
+
public_suffix (2.0.5)
|
44
|
+
rack (1.6.5)
|
45
|
+
rack-protection (1.5.3)
|
46
|
+
rack
|
43
47
|
rake (0.9.6)
|
44
48
|
rspec (2.99.0)
|
45
49
|
rspec-core (~> 2.99.0)
|
@@ -50,8 +54,10 @@ GEM
|
|
50
54
|
diff-lcs (>= 1.1.3, < 2.0)
|
51
55
|
rspec-mocks (2.99.4)
|
52
56
|
safe_yaml (1.0.4)
|
53
|
-
sinatra (1.
|
54
|
-
rack (
|
57
|
+
sinatra (1.4.8)
|
58
|
+
rack (~> 1.5)
|
59
|
+
rack-protection (~> 1.4)
|
60
|
+
tilt (>= 1.3, < 3)
|
55
61
|
slop (3.6.0)
|
56
62
|
thread_safe (0.3.6)
|
57
63
|
tilt (1.4.1)
|
@@ -77,4 +83,4 @@ DEPENDENCIES
|
|
77
83
|
webmock (~> 1.22.6)
|
78
84
|
|
79
85
|
BUNDLED WITH
|
80
|
-
1.13.
|
86
|
+
1.13.6
|
data/lib/bridge_api/api_array.rb
CHANGED
@@ -11,7 +11,7 @@ module BridgeAPI
|
|
11
11
|
attr_reader :status, :headers, :members
|
12
12
|
|
13
13
|
def self.process_response(response, api_client)
|
14
|
-
|
14
|
+
ApiArray.new(response, api_client)
|
15
15
|
end
|
16
16
|
|
17
17
|
def initialize(response, api_client)
|
@@ -19,7 +19,7 @@ module BridgeAPI
|
|
19
19
|
@linked = {}
|
20
20
|
@meta = {}
|
21
21
|
case response.status
|
22
|
-
when 200..206
|
22
|
+
when *((200..206).to_a + [302])
|
23
23
|
apply_response_metadata(response)
|
24
24
|
@members = get_response_content(response)
|
25
25
|
end
|
data/lib/bridge_api/client.rb
CHANGED
@@ -11,6 +11,8 @@ require 'base64'
|
|
11
11
|
module BridgeAPI
|
12
12
|
class Client < Footrest::Client
|
13
13
|
|
14
|
+
DATA_DUMP_DOWNLOAD_PATH = '/data_dumps/download'
|
15
|
+
DATA_DUMP_PATH = '/data_dumps'
|
14
16
|
COURSE_TEMPLATE_PATH = '/course_templates'
|
15
17
|
ENROLLMENT_PATH = '/enrollments'
|
16
18
|
USER_PATH = '/users'
|
@@ -32,6 +34,7 @@ module BridgeAPI
|
|
32
34
|
include Manager
|
33
35
|
include CustomField
|
34
36
|
include Footrest
|
37
|
+
include DataDump
|
35
38
|
|
36
39
|
# Override Footrest request for ApiArray support
|
37
40
|
def request(method, &block)
|
@@ -48,8 +51,8 @@ module BridgeAPI
|
|
48
51
|
elsif config[:logger]
|
49
52
|
faraday.use Faraday::Response::Logger, config[:logger]
|
50
53
|
end
|
54
|
+
faraday.use Footrest::FollowRedirects, limit: 5 unless config[:follow_redirects] == false
|
51
55
|
faraday.adapter Faraday.default_adapter
|
52
|
-
faraday.use Footrest::FollowRedirects
|
53
56
|
faraday.use Footrest::ParseJson, :content_type => /\bjson$/
|
54
57
|
faraday.use Footrest::RaiseFootrestErrors
|
55
58
|
faraday.use Footrest::Pagination
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module BridgeAPI
|
2
|
+
class Client
|
3
|
+
module DataDump
|
4
|
+
def get_data_dumps(params = {})
|
5
|
+
get("#{API_PATH}#{ADMIN_PATH}#{DATA_DUMP_PATH}", params)
|
6
|
+
end
|
7
|
+
|
8
|
+
def create_data_dump(params = {})
|
9
|
+
post("#{API_PATH}#{ADMIN_PATH}#{DATA_DUMP_PATH}", params)
|
10
|
+
end
|
11
|
+
|
12
|
+
def download_data_dump(params = {})
|
13
|
+
get("#{API_PATH}#{ADMIN_PATH}#{DATA_DUMP_DOWNLOAD_PATH}", params)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/bridge_api/version.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe BridgeAPI::Client::DataDump do
|
4
|
+
before do
|
5
|
+
@client = BridgeAPI::Client.new(prefix: "http://test.bridge.com", token: "test_token")
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'should get all data dumps' do
|
9
|
+
response = @client.get_data_dumps
|
10
|
+
expect(response.status).to eq(200)
|
11
|
+
expect(response.members.count).to eq(1)
|
12
|
+
expect(response.members.first['status']).to eq('complete')
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should create a data dump' do
|
16
|
+
response = @client.create_data_dump
|
17
|
+
expect(response.status).to eq(200)
|
18
|
+
expect(response.members.count).to eq(1)
|
19
|
+
expect(response.members.first['status']).to eq('pending')
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should download a data dump' do
|
23
|
+
response = @client.download_data_dump
|
24
|
+
expect(response.status).to eq(200)
|
25
|
+
end
|
26
|
+
end
|
data/spec/support/fake_bridge.rb
CHANGED
@@ -106,6 +106,20 @@ class FakeBridge < Sinatra::Base
|
|
106
106
|
get_json_data 204, nil
|
107
107
|
end
|
108
108
|
|
109
|
+
# Data Dumps
|
110
|
+
|
111
|
+
get %r{/api/admin/data_dumps} do
|
112
|
+
get_json_data 200, 'data_dumps.json'
|
113
|
+
end
|
114
|
+
|
115
|
+
post %r{/api/admin/data_dumps} do
|
116
|
+
get_json_data 200, 'data_dump.json'
|
117
|
+
end
|
118
|
+
|
119
|
+
get %r{/api/admin/data_dumps/download} do
|
120
|
+
get_json_data 200, nil
|
121
|
+
end
|
122
|
+
|
109
123
|
private
|
110
124
|
|
111
125
|
def get_json_data(response_code, file_name)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bridge_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay Shaffer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -192,12 +192,14 @@ files:
|
|
192
192
|
- lib/bridge_api/client.rb
|
193
193
|
- lib/bridge_api/client/course_template.rb
|
194
194
|
- lib/bridge_api/client/custom_field.rb
|
195
|
+
- lib/bridge_api/client/data_dump.rb
|
195
196
|
- lib/bridge_api/client/enrollment.rb
|
196
197
|
- lib/bridge_api/client/manager.rb
|
197
198
|
- lib/bridge_api/client/user.rb
|
198
199
|
- lib/bridge_api/version.rb
|
199
200
|
- spec/bridge_api/client/course_template_spec.rb
|
200
201
|
- spec/bridge_api/client/custom_field_spec.rb
|
202
|
+
- spec/bridge_api/client/data_dump_spec.rb
|
201
203
|
- spec/bridge_api/client/enrollment_spec.rb
|
202
204
|
- spec/bridge_api/client/manager_spec.rb
|
203
205
|
- spec/bridge_api/client/user_spec.rb
|
@@ -205,6 +207,8 @@ files:
|
|
205
207
|
- spec/fixtures/course.json
|
206
208
|
- spec/fixtures/courses.json
|
207
209
|
- spec/fixtures/custom_fields.json
|
210
|
+
- spec/fixtures/data_dump.json
|
211
|
+
- spec/fixtures/data_dumps.json
|
208
212
|
- spec/fixtures/direct_reports.json
|
209
213
|
- spec/fixtures/enrollment.json
|
210
214
|
- spec/fixtures/enrollments.json
|
@@ -234,13 +238,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
238
|
version: '0'
|
235
239
|
requirements: []
|
236
240
|
rubyforge_project:
|
237
|
-
rubygems_version: 2.5
|
241
|
+
rubygems_version: 2.4.5
|
238
242
|
signing_key:
|
239
243
|
specification_version: 4
|
240
244
|
summary: Bridge API
|
241
245
|
test_files:
|
242
246
|
- spec/bridge_api/client/course_template_spec.rb
|
243
247
|
- spec/bridge_api/client/custom_field_spec.rb
|
248
|
+
- spec/bridge_api/client/data_dump_spec.rb
|
244
249
|
- spec/bridge_api/client/enrollment_spec.rb
|
245
250
|
- spec/bridge_api/client/manager_spec.rb
|
246
251
|
- spec/bridge_api/client/user_spec.rb
|
@@ -248,6 +253,8 @@ test_files:
|
|
248
253
|
- spec/fixtures/course.json
|
249
254
|
- spec/fixtures/courses.json
|
250
255
|
- spec/fixtures/custom_fields.json
|
256
|
+
- spec/fixtures/data_dump.json
|
257
|
+
- spec/fixtures/data_dumps.json
|
251
258
|
- spec/fixtures/direct_reports.json
|
252
259
|
- spec/fixtures/enrollment.json
|
253
260
|
- spec/fixtures/enrollments.json
|
@@ -257,3 +264,4 @@ test_files:
|
|
257
264
|
- spec/fixtures/users.json
|
258
265
|
- spec/support/fake_bridge.rb
|
259
266
|
- spec/test_helper.rb
|
267
|
+
has_rdoc:
|