adobe_connect 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +5 -0
- data/adobe_connect.gemspec +2 -2
- data/lib/adobe_connect/group.rb +4 -1
- data/lib/adobe_connect/meeting_folder.rb +7 -2
- data/lib/adobe_connect/version.rb +1 -1
- data/test/fixtures/folder_my_meetings_failure.xml +12 -0
- data/test/fixtures/folder_my_meetings_success.xml +12 -0
- data/test/lib/adobe_connect/meeting_folder_test.rb +29 -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: b51f450d38f07e066522f7036692cab38bf18365
|
4
|
+
data.tar.gz: f71f7c0a1d552ec0989e2c44ba310bed4f71fbf7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fdc59e0fd25edb71ce1f30639a35d4c7fbb077f0d4b0f75f068273eb4a80683e5ed998dd40dbf37c0906db60c6663ca8bdb315a99f7616d75b8d355864edad6
|
7
|
+
data.tar.gz: 51115a9fbd728b1ce3c831555529cfdcf2eaba9cb9ddf38f403a7a4e748822883ff5e9183590df04c0e6195e49dfc95f5647f689be883cbdbacc09a9fb51de30
|
data/.travis.yml
CHANGED
data/adobe_connect.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'adobe_connect/version'
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
7
|
gem.name = 'adobe_connect'
|
8
8
|
gem.version = AdobeConnect::VERSION
|
9
|
-
gem.authors = ['Zach Pendleton']
|
10
|
-
gem.email = ['zachpendleton@gmail.com']
|
9
|
+
gem.authors = ['Zach Pendleton', 'Isaiah Fischer', 'Leon Miller-Out']
|
10
|
+
gem.email = ['zachpendleton@gmail.com', 'isaiah@singlebrook.com', 'leon@singlebrook.com']
|
11
11
|
gem.description = %q{An API wrapper for interacting with Adobe Connect services.}
|
12
12
|
gem.summary = %q{An API wrapper for Adobe Connect services.}
|
13
13
|
gem.license = 'MIT'
|
data/lib/adobe_connect/group.rb
CHANGED
@@ -81,9 +81,12 @@ module AdobeConnect
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def self.load_from_xml(g)
|
84
|
+
desc = g.at_xpath('//description')
|
85
|
+
desc = desc.children unless desc.nil?
|
86
|
+
desc = desc.text unless desc.nil?
|
84
87
|
self.new({
|
85
88
|
:name => g.at_xpath('//name').children.text,
|
86
|
-
:description =>
|
89
|
+
:description => desc,
|
87
90
|
:id => g.attr('principal-id')
|
88
91
|
})
|
89
92
|
end
|
@@ -49,9 +49,14 @@ module AdobeConnect
|
|
49
49
|
# Returns a string of the sco ID of the folder
|
50
50
|
def self.my_meetings_folder_id(service = AdobeConnect::Service.new)
|
51
51
|
response = service.sco_shortcuts({})
|
52
|
-
response.at_xpath('//shortcuts').children.select{|s|
|
52
|
+
folder = response.at_xpath('//shortcuts').children.select{|s|
|
53
53
|
s.attr('type') == 'my-meetings'
|
54
|
-
}[0]
|
54
|
+
}[0]
|
55
|
+
if folder.nil?
|
56
|
+
nil
|
57
|
+
else
|
58
|
+
folder.attr('sco-id')
|
59
|
+
end
|
55
60
|
end
|
56
61
|
end
|
57
62
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<results>
|
3
|
+
<status code="ok"/>
|
4
|
+
<shortcuts>
|
5
|
+
<sco sco-id="25915" type="user-meetings" tree-id="4930292">
|
6
|
+
<domain-name>http://example.com</domain-name>
|
7
|
+
</sco>
|
8
|
+
<sco sco-id="25916" type="user-courses" tree-id="4930293">
|
9
|
+
<domain-name>http://example.com</domain-name>
|
10
|
+
</sco>
|
11
|
+
</shortcuts>
|
12
|
+
</results>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<results>
|
3
|
+
<status code="ok"/>
|
4
|
+
<shortcuts>
|
5
|
+
<sco sco-id="25915" type="my-meetings" tree-id="4930292">
|
6
|
+
<domain-name>http://example.com</domain-name>
|
7
|
+
</sco>
|
8
|
+
<sco sco-id="25916" type="user-courses" tree-id="4930293">
|
9
|
+
<domain-name>http://example.com</domain-name>
|
10
|
+
</sco>
|
11
|
+
</shortcuts>
|
12
|
+
</results>
|
@@ -11,6 +11,9 @@ class AdobeConnectMeetingFolderTest < AdobeConnectTestCase
|
|
11
11
|
FOLDER_SUCCESS = File.read(File.expand_path('../../fixtures/folder_success.xml', File.dirname(__FILE__)))
|
12
12
|
FOLDER_CONTENTS = File.read(File.expand_path('../../fixtures/folder_contents.xml', File.dirname(__FILE__)))
|
13
13
|
|
14
|
+
MY_MEETINGS_SUCCESS = File.read(File.expand_path('../../fixtures/folder_my_meetings_success.xml', File.dirname(__FILE__)))
|
15
|
+
MY_MEETINGS_FAILURE = File.read(File.expand_path('../../fixtures/folder_my_meetings_failure.xml', File.dirname(__FILE__)))
|
16
|
+
|
14
17
|
def setup
|
15
18
|
@folder = AdobeConnect::MeetingFolder.new('1', 'test folder', '/test-meeting/')
|
16
19
|
end
|
@@ -54,4 +57,30 @@ class AdobeConnectMeetingFolderTest < AdobeConnectTestCase
|
|
54
57
|
|
55
58
|
assert_equal @folder.contents.xpath('//sco').length, 10
|
56
59
|
end
|
60
|
+
|
61
|
+
def test_my_meetings_folder_id_handles_when_no_my_meetings_folder_is_present
|
62
|
+
ac_response = mock_ac_response(MY_MEETINGS_FAILURE)
|
63
|
+
|
64
|
+
AdobeConnect::Service.any_instance.
|
65
|
+
expects(:request).
|
66
|
+
with('sco-shortcuts', {}).
|
67
|
+
returns(ac_response)
|
68
|
+
|
69
|
+
folder_id = AdobeConnect::MeetingFolder.my_meetings_folder_id
|
70
|
+
|
71
|
+
assert_equal folder_id, nil
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_my_meetings_folder_id_returns_id_when_present
|
75
|
+
ac_response = mock_ac_response(MY_MEETINGS_SUCCESS)
|
76
|
+
|
77
|
+
AdobeConnect::Service.any_instance.
|
78
|
+
expects(:request).
|
79
|
+
with('sco-shortcuts', {}).
|
80
|
+
returns(ac_response)
|
81
|
+
|
82
|
+
folder_id = AdobeConnect::MeetingFolder.my_meetings_folder_id
|
83
|
+
|
84
|
+
assert_equal folder_id, '25915'
|
85
|
+
end
|
57
86
|
end
|
metadata
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adobe_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zach Pendleton
|
8
|
+
- Isaiah Fischer
|
9
|
+
- Leon Miller-Out
|
8
10
|
autorequire:
|
9
11
|
bindir: bin
|
10
12
|
cert_chain: []
|
11
|
-
date:
|
13
|
+
date: 2016-01-19 00:00:00.000000000 Z
|
12
14
|
dependencies:
|
13
15
|
- !ruby/object:Gem::Dependency
|
14
16
|
name: activesupport
|
@@ -145,6 +147,8 @@ dependencies:
|
|
145
147
|
description: An API wrapper for interacting with Adobe Connect services.
|
146
148
|
email:
|
147
149
|
- zachpendleton@gmail.com
|
150
|
+
- isaiah@singlebrook.com
|
151
|
+
- leon@singlebrook.com
|
148
152
|
executables:
|
149
153
|
- adobe_connect_console
|
150
154
|
extensions: []
|
@@ -176,6 +180,8 @@ files:
|
|
176
180
|
- test/fixtures/acl_field_save_success.xml
|
177
181
|
- test/fixtures/acl_field_update_success.xml
|
178
182
|
- test/fixtures/folder_contents.xml
|
183
|
+
- test/fixtures/folder_my_meetings_failure.xml
|
184
|
+
- test/fixtures/folder_my_meetings_success.xml
|
179
185
|
- test/fixtures/folder_success.xml
|
180
186
|
- test/fixtures/generic_success.xml
|
181
187
|
- test/fixtures/group_is_member.xml
|
@@ -231,7 +237,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
231
237
|
version: '0'
|
232
238
|
requirements: []
|
233
239
|
rubyforge_project:
|
234
|
-
rubygems_version: 2.
|
240
|
+
rubygems_version: 2.4.5.1
|
235
241
|
signing_key:
|
236
242
|
specification_version: 4
|
237
243
|
summary: An API wrapper for Adobe Connect services.
|
@@ -240,6 +246,8 @@ test_files:
|
|
240
246
|
- test/fixtures/acl_field_save_success.xml
|
241
247
|
- test/fixtures/acl_field_update_success.xml
|
242
248
|
- test/fixtures/folder_contents.xml
|
249
|
+
- test/fixtures/folder_my_meetings_failure.xml
|
250
|
+
- test/fixtures/folder_my_meetings_success.xml
|
243
251
|
- test/fixtures/folder_success.xml
|
244
252
|
- test/fixtures/generic_success.xml
|
245
253
|
- test/fixtures/group_is_member.xml
|