adobe_connect 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +3 -1
- data/Rakefile +2 -0
- data/adobe_connect.gemspec +4 -2
- data/lib/adobe_connect.rb +0 -1
- data/lib/adobe_connect/meeting_folder.rb +3 -3
- data/lib/adobe_connect/service.rb +1 -1
- data/lib/adobe_connect/user.rb +16 -16
- data/lib/adobe_connect/version.rb +1 -1
- data/test/fixtures/folder_contents.xml +10 -10
- data/test/fixtures/folder_success.xml +1 -1
- data/test/lib/adobe_connect/meeting_folder_test.rb +6 -6
- data/test/lib/adobe_connect/param_formatter_test.rb +1 -1
- data/test/lib/adobe_connect/response_test.rb +1 -1
- data/test/lib/adobe_connect/service_test.rb +7 -7
- data/test/lib/adobe_connect/user_test.rb +21 -21
- data/travis.yml +4 -0
- metadata +35 -3
- data/lib/adobe_connect/session.rb +0 -19
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# AdobeConnect
|
2
2
|
|
3
|
+
[![Build Status](https://secure.travis-ci.org/zachpendleton/adobe_connect.png)](http://travis-ci.org/zachpendleton/adobe_connect)
|
4
|
+
|
3
5
|
This gem provides a wrapper for interacting with the Adobe Connect API that
|
4
6
|
(hopefully) sucks less than interacting with the Adobe Connect API by itself.
|
5
7
|
|
@@ -7,7 +9,7 @@ This gem provides a wrapper for interacting with the Adobe Connect API that
|
|
7
9
|
|
8
10
|
Add this line to your application's Gemfile:
|
9
11
|
|
10
|
-
gem 'adobe_connect', '0.0.
|
12
|
+
gem 'adobe_connect', '0.0.3'
|
11
13
|
|
12
14
|
And then run:
|
13
15
|
|
data/Rakefile
CHANGED
data/adobe_connect.gemspec
CHANGED
@@ -22,6 +22,8 @@ Gem::Specification.new do |gem|
|
|
22
22
|
gem.add_dependency 'pry', '>= 0.9.11.4'
|
23
23
|
gem.add_dependency 'rake', '~> 10.0.3'
|
24
24
|
|
25
|
-
gem.add_development_dependency 'minitest',
|
26
|
-
gem.add_development_dependency 'mocha',
|
25
|
+
gem.add_development_dependency 'minitest', '~> 4.6.0'
|
26
|
+
gem.add_development_dependency 'mocha', '~> 0.13.2'
|
27
|
+
gem.add_development_dependency 'yard', '~> 0.8.4.1'
|
28
|
+
gem.add_development_dependency 'yard-tomdoc', '~> 0.6.0'
|
27
29
|
end
|
data/lib/adobe_connect.rb
CHANGED
@@ -15,9 +15,9 @@ module AdobeConnect
|
|
15
15
|
|
16
16
|
def self.find(name, service = AdobeConnect::Service.new)
|
17
17
|
response = service.sco_search_by_field(
|
18
|
-
query
|
19
|
-
filter_type
|
20
|
-
field
|
18
|
+
:query => name,
|
19
|
+
:filter_type => 'folder',
|
20
|
+
:field => 'name')
|
21
21
|
|
22
22
|
MeetingFolder.new(response.at_xpath('//sco').attr('sco-id'),
|
23
23
|
response.at_xpath('//name').text,
|
@@ -10,7 +10,7 @@ module AdobeConnect
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def log_in
|
13
|
-
response = request('login', { login
|
13
|
+
response = request('login', { :login => username, :password => password }, false)
|
14
14
|
if response.at_xpath('//status').attr('code') == 'ok'
|
15
15
|
@session = response.fetch('set-cookie').match(/(?<=BREEZESESSION=)[^;]+/)[0]
|
16
16
|
@authenticated = true
|
data/lib/adobe_connect/user.rb
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
module AdobeConnect
|
2
2
|
class User
|
3
|
-
attr_reader :id, :
|
3
|
+
attr_reader :id, :app_user, :service, :errors
|
4
4
|
|
5
|
-
def initialize(
|
6
|
-
@
|
7
|
-
@service
|
8
|
-
@errors
|
5
|
+
def initialize(app_user, service = Service.new)
|
6
|
+
@app_user = app_user
|
7
|
+
@service = service
|
8
|
+
@errors = []
|
9
9
|
end
|
10
10
|
|
11
11
|
def username
|
12
|
-
|
12
|
+
app_user.email
|
13
13
|
end
|
14
14
|
|
15
15
|
def password
|
16
|
-
Digest::MD5.hexdigest(@
|
16
|
+
Digest::MD5.hexdigest(@app_user.uuid)[0..9]
|
17
17
|
end
|
18
18
|
|
19
19
|
def save
|
20
|
-
response = service.principal_update(first_name
|
21
|
-
last_name
|
22
|
-
password
|
23
|
-
email
|
20
|
+
response = service.principal_update(:first_name => app_user.first_name,
|
21
|
+
:last_name => app_user.last_name, :login => app_user.email,
|
22
|
+
:password => password, :type => 'user', :has_children => 0,
|
23
|
+
:email => app_user.email)
|
24
24
|
|
25
25
|
if response.at_xpath('//status').attr('code') == 'ok'
|
26
26
|
true
|
@@ -30,16 +30,16 @@ module AdobeConnect
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
def self.create(
|
34
|
-
user = AdobeConnect::User.new(
|
33
|
+
def self.create(app_user)
|
34
|
+
user = AdobeConnect::User.new(app_user)
|
35
35
|
user.save
|
36
36
|
|
37
37
|
user
|
38
38
|
end
|
39
39
|
|
40
|
-
def self.find(
|
41
|
-
user = AdobeConnect::User.new(
|
42
|
-
response = user.service.principal_list(filter_login
|
40
|
+
def self.find(app_user)
|
41
|
+
user = AdobeConnect::User.new(app_user)
|
42
|
+
response = user.service.principal_list(:filter_login => user.username)
|
43
43
|
|
44
44
|
if principal = response.at_xpath('//principal')
|
45
45
|
user.instance_variable_set(:@id, principal.attr('principal-id'))
|
@@ -4,70 +4,70 @@
|
|
4
4
|
<scos>
|
5
5
|
<sco sco-id="26013" source-sco-id="" folder-id="25915" type="meeting" icon="meeting" display-seq="0" duration="" is-folder="0">
|
6
6
|
<name>BIG-001: Course Conference [12]</name>
|
7
|
-
<url-path>/
|
7
|
+
<url-path>/my-meeting-12/</url-path>
|
8
8
|
<date-begin>2013-01-18T10:37:21.000-07:00</date-begin>
|
9
9
|
<date-created>2013-01-18T10:37:29.133-07:00</date-created>
|
10
10
|
<date-modified>2013-01-18T10:46:37.187-07:00</date-modified>
|
11
11
|
</sco>
|
12
12
|
<sco sco-id="26102" source-sco-id="" folder-id="25915" type="meeting" icon="meeting" display-seq="0" duration="" is-folder="0">
|
13
13
|
<name>BIOL 1550 E01: Course Conference [45]</name>
|
14
|
-
<url-path>/
|
14
|
+
<url-path>/my-meeting-45/</url-path>
|
15
15
|
<date-begin>2013-01-25T14:15:19.000-07:00</date-begin>
|
16
16
|
<date-created>2013-01-25T14:15:26.890-07:00</date-created>
|
17
17
|
<date-modified>2013-01-25T14:28:36.350-07:00</date-modified>
|
18
18
|
</sco>
|
19
19
|
<sco sco-id="25917" source-sco-id="" folder-id="25915" type="meeting" icon="meeting" display-seq="0" duration="" is-folder="0">
|
20
20
|
<name>Discussion Copy 1: Adobe connect conference [18847]</name>
|
21
|
-
<url-path>/
|
21
|
+
<url-path>/my-meeting-18847/</url-path>
|
22
22
|
<date-begin>2013-01-15T12:22:03.000-07:00</date-begin>
|
23
23
|
<date-created>2013-01-15T12:22:06.977-07:00</date-created>
|
24
24
|
<date-modified>2013-01-15T12:31:13.053-07:00</date-modified>
|
25
25
|
</sco>
|
26
26
|
<sco sco-id="26109" source-sco-id="" folder-id="25915" type="meeting" icon="meeting" display-seq="0" duration="" is-folder="0">
|
27
27
|
<name>ENGL 2600 E01: Course Conference [46]</name>
|
28
|
-
<url-path>/
|
28
|
+
<url-path>/my-meeting-46/</url-path>
|
29
29
|
<date-begin>2013-01-25T14:15:39.000-07:00</date-begin>
|
30
30
|
<date-created>2013-01-25T14:15:47.287-07:00</date-created>
|
31
31
|
<date-modified>2013-01-25T14:27:59.050-07:00</date-modified>
|
32
32
|
</sco>
|
33
33
|
<sco sco-id="26156" source-sco-id="" folder-id="25915" type="meeting" icon="meeting" display-seq="0" duration="" is-folder="0">
|
34
34
|
<name>ENGL-2100: Course Conference [27]</name>
|
35
|
-
<url-path>/
|
35
|
+
<url-path>/my-meeting-27/</url-path>
|
36
36
|
<date-begin>2013-01-31T15:04:53.000-07:00</date-begin>
|
37
37
|
<date-created>2013-01-31T15:05:00.680-07:00</date-created>
|
38
38
|
<date-modified>2013-01-31T15:14:11.273-07:00</date-modified>
|
39
39
|
</sco>
|
40
40
|
<sco sco-id="25924" source-sco-id="" folder-id="25915" type="meeting" icon="meeting" display-seq="0" duration="" is-folder="0">
|
41
41
|
<name>IE9 1/26: Course Conference [18848]</name>
|
42
|
-
<url-path>/
|
42
|
+
<url-path>/my-meeting-18848/</url-path>
|
43
43
|
<date-begin>2013-01-15T12:52:08.000-07:00</date-begin>
|
44
44
|
<date-created>2013-01-15T12:52:12.113-07:00</date-created>
|
45
45
|
<date-modified>2013-01-15T12:52:12.113-07:00</date-modified>
|
46
46
|
</sco>
|
47
47
|
<sco sco-id="25930" source-sco-id="" folder-id="25915" type="meeting" icon="meeting" display-seq="0" duration="" is-folder="0">
|
48
48
|
<name>IE9 1/26: Group Conference [18849]</name>
|
49
|
-
<url-path>/
|
49
|
+
<url-path>/my-meeting-18849/</url-path>
|
50
50
|
<date-begin>2013-01-15T14:04:35.000-07:00</date-begin>
|
51
51
|
<date-created>2013-01-15T14:04:39.303-07:00</date-created>
|
52
52
|
<date-modified>2013-01-15T14:16:56.483-07:00</date-modified>
|
53
53
|
</sco>
|
54
54
|
<sco sco-id="26096" source-sco-id="" folder-id="25915" type="meeting" icon="meeting" display-seq="0" duration="" is-folder="0">
|
55
55
|
<name>LTIDemo: Course Conference [44]</name>
|
56
|
-
<url-path>/
|
56
|
+
<url-path>/my-meeting-44/</url-path>
|
57
57
|
<date-begin>2013-01-25T14:15:03.000-07:00</date-begin>
|
58
58
|
<date-created>2013-01-25T14:15:11.373-07:00</date-created>
|
59
59
|
<date-modified>2013-01-25T14:26:22.120-07:00</date-modified>
|
60
60
|
</sco>
|
61
61
|
<sco sco-id="26122" source-sco-id="" folder-id="25915" type="meeting" icon="meeting" display-seq="0" duration="" is-folder="0">
|
62
62
|
<name>LTIDemo: Course Conference [47]</name>
|
63
|
-
<url-path>/
|
63
|
+
<url-path>/my-meeting-47/</url-path>
|
64
64
|
<date-begin>2013-01-25T14:17:59.000-07:00</date-begin>
|
65
65
|
<date-created>2013-01-25T14:18:06.710-07:00</date-created>
|
66
66
|
<date-modified>2013-01-25T14:29:11.300-07:00</date-modified>
|
67
67
|
</sco>
|
68
68
|
<sco sco-id="26087" source-sco-id="" folder-id="25915" type="meeting" icon="meeting" display-seq="0" duration="" is-folder="0">
|
69
69
|
<name>STC: Course Conference [19114]</name>
|
70
|
-
<url-path>/
|
70
|
+
<url-path>/my-meeting-19114/</url-path>
|
71
71
|
<date-begin>2013-01-25T10:16:36.000-07:00</date-begin>
|
72
72
|
<date-created>2013-01-25T10:16:44.260-07:00</date-created>
|
73
73
|
<date-modified>2013-01-25T10:38:59.190-07:00</date-modified>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<status code="ok"/>
|
4
4
|
<sco-search-by-field-info>
|
5
5
|
<sco sco-id="25915" account-id="7" folder-id="11004" type="folder" icon="folder" max-retries="" lang="en" display-seq="0" source-sco-id="" version="0" parent-type="-2" tree-type="6" grand-parent="7">
|
6
|
-
<name>
|
6
|
+
<name>my_meetings</name>
|
7
7
|
<url-path>/meeting-path/</url-path>
|
8
8
|
<date-created>2013-01-15T12:21:42.243-07:00</date-created>
|
9
9
|
<date-modified>2013-01-15T12:21:42.243-07:00</date-modified>
|
@@ -32,26 +32,26 @@ class AdobeConnectMeetingFolderTest < MiniTest::Unit::TestCase
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def test_find_returns_a_new_folder
|
35
|
-
response = mock(status
|
35
|
+
response = mock(:status => 200)
|
36
36
|
response.expects(:body).returns(FOLDER_SUCCESS)
|
37
37
|
ac_response = AdobeConnect::Response.new(response)
|
38
38
|
|
39
39
|
AdobeConnect::Service.any_instance.
|
40
40
|
expects(:request).
|
41
|
-
with('sco-search-by-field', query
|
42
|
-
filter_type
|
41
|
+
with('sco-search-by-field', :query => 'my_meetings',
|
42
|
+
:filter_type => 'folder', :field => 'name').
|
43
43
|
returns(ac_response)
|
44
44
|
|
45
|
-
folder = AdobeConnect::MeetingFolder.find('
|
45
|
+
folder = AdobeConnect::MeetingFolder.find('my_meetings')
|
46
46
|
|
47
47
|
assert_instance_of AdobeConnect::MeetingFolder, folder
|
48
|
-
assert_equal folder.name, '
|
48
|
+
assert_equal folder.name, 'my_meetings'
|
49
49
|
assert_equal folder.id, '25915'
|
50
50
|
assert_equal folder.url, '/meeting-path/'
|
51
51
|
end
|
52
52
|
|
53
53
|
def test_contents_returns_folder_contents
|
54
|
-
response = mock(status
|
54
|
+
response = mock(:status => 200)
|
55
55
|
response.expects(:body).returns(FOLDER_CONTENTS)
|
56
56
|
ac_response = AdobeConnect::Response.new(response)
|
57
57
|
@folder.service.expects(:sco_contents).returns(ac_response)
|
@@ -2,7 +2,7 @@ require File.expand_path('../../test_helper.rb', File.dirname(__FILE__))
|
|
2
2
|
|
3
3
|
class AdobeConnectParamFormatterTest < MiniTest::Unit::TestCase
|
4
4
|
def setup
|
5
|
-
params = { a
|
5
|
+
params = { :a => 1, :b => 'param value', 'dashed_value' => 3 }
|
6
6
|
@formatter = AdobeConnect::ParamFormatter.new(params)
|
7
7
|
@query_string = @formatter.format
|
8
8
|
end
|
@@ -11,7 +11,7 @@ class AdobeConnectResponseTest < MiniTest::Unit::TestCase
|
|
11
11
|
END
|
12
12
|
|
13
13
|
def setup
|
14
|
-
response = stub(status
|
14
|
+
response = stub(:status => 200, :headers => TEST_HEADERS, :body => TEST_BODY)
|
15
15
|
@response = AdobeConnect::Response.new(response)
|
16
16
|
end
|
17
17
|
|
@@ -5,8 +5,8 @@ class AdobeConnectServiceTest < MiniTest::Unit::TestCase
|
|
5
5
|
LOGIN_FAIL = File.read('test/fixtures/log_in_fail.xml')
|
6
6
|
|
7
7
|
def setup
|
8
|
-
@service = AdobeConnect::Service.new(username
|
9
|
-
domain
|
8
|
+
@service = AdobeConnect::Service.new(:username => 'name', :password => 'password',
|
9
|
+
:domain => 'http://example.com')
|
10
10
|
end
|
11
11
|
|
12
12
|
def test_initialize_takes_a_config_hash
|
@@ -23,7 +23,7 @@ class AdobeConnectServiceTest < MiniTest::Unit::TestCase
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def test_log_in_authenticates
|
26
|
-
response = mock(status
|
26
|
+
response = mock(:status => 200)
|
27
27
|
response.expects(:fetch).returns('BREEZESESSION=12345')
|
28
28
|
response.expects(:body).returns(LOGIN_SUCCESS)
|
29
29
|
ac_response = AdobeConnect::Response.new(response)
|
@@ -34,7 +34,7 @@ class AdobeConnectServiceTest < MiniTest::Unit::TestCase
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_log_in_creates_a_session
|
37
|
-
response = mock(status
|
37
|
+
response = mock(:status => 200)
|
38
38
|
response.expects(:fetch).with('set-cookie').returns('BREEZESESSION=12345;HttpOnly;path=/')
|
39
39
|
response.expects(:body).returns(LOGIN_SUCCESS)
|
40
40
|
ac_response = AdobeConnect::Response.new(response)
|
@@ -47,7 +47,7 @@ class AdobeConnectServiceTest < MiniTest::Unit::TestCase
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def test_log_in_returns_false_on_failure
|
50
|
-
response = mock(status
|
50
|
+
response = mock(:status => 200)
|
51
51
|
response.expects(:body).returns(LOGIN_FAIL)
|
52
52
|
ac_response = AdobeConnect::Response.new(response)
|
53
53
|
@service.client.stubs(:get).returns(ac_response)
|
@@ -56,7 +56,7 @@ class AdobeConnectServiceTest < MiniTest::Unit::TestCase
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def test_unknown_methods_are_proxied_to_the_connect_service
|
59
|
-
@service.expects(:request).with('method-name', a
|
60
|
-
@service.method_name(a
|
59
|
+
@service.expects(:request).with('method-name', :a => 1)
|
60
|
+
@service.method_name(:a => 1)
|
61
61
|
end
|
62
62
|
end
|
@@ -14,17 +14,17 @@ class AdobeConnectUserTest < MiniTest::Unit::TestCase
|
|
14
14
|
FIND_ERROR = File.read('test/fixtures/user_find_error.xml')
|
15
15
|
|
16
16
|
def setup
|
17
|
-
@
|
18
|
-
email
|
19
|
-
@connect_user = AdobeConnect::User.new(@
|
17
|
+
@app_user = stub(:first_name => 'Don', :last_name => 'Draper',
|
18
|
+
:email => 'test@example.com', :uuid => '12345')
|
19
|
+
@connect_user = AdobeConnect::User.new(@app_user)
|
20
20
|
end
|
21
21
|
|
22
22
|
def test_initialize_should_take_a_user
|
23
|
-
assert_equal @connect_user.
|
23
|
+
assert_equal @connect_user.app_user, @app_user
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
27
|
-
assert_equal @connect_user.username, @
|
26
|
+
def test_username_should_be_app_user_email
|
27
|
+
assert_equal @connect_user.username, @app_user.email
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_password_should_create_a_unique_password
|
@@ -36,22 +36,22 @@ class AdobeConnectUserTest < MiniTest::Unit::TestCase
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def test_save_persists_user_to_connect_server
|
39
|
-
response = mock(status
|
39
|
+
response = mock(:status => 200)
|
40
40
|
response.expects(:body).returns(SAVE_SUCCESS)
|
41
41
|
ac_response = AdobeConnect::Response.new(response)
|
42
42
|
|
43
43
|
@connect_user.service.expects(:principal_update).
|
44
|
-
with(first_name
|
45
|
-
last_name
|
46
|
-
password
|
47
|
-
email
|
44
|
+
with(:first_name => @app_user.first_name,
|
45
|
+
:last_name => @app_user.last_name, :login => @connect_user.username,
|
46
|
+
:password => @connect_user.password, :type => 'user', :has_children => 0,
|
47
|
+
:email => @app_user.email).
|
48
48
|
returns(ac_response)
|
49
49
|
|
50
50
|
assert @connect_user.save
|
51
51
|
end
|
52
52
|
|
53
53
|
def test_save_returns_false_on_failure
|
54
|
-
response = mock(status
|
54
|
+
response = mock(:status => 200)
|
55
55
|
response.expects(:body).returns(SAVE_ERROR)
|
56
56
|
ac_response = AdobeConnect::Response.new(response)
|
57
57
|
|
@@ -60,7 +60,7 @@ class AdobeConnectUserTest < MiniTest::Unit::TestCase
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def test_save_stores_errors_on_failure
|
63
|
-
response = mock(status
|
63
|
+
response = mock(:status => 200)
|
64
64
|
response.expects(:body).returns(SAVE_ERROR)
|
65
65
|
ac_response = AdobeConnect::Response.new(response)
|
66
66
|
|
@@ -72,32 +72,32 @@ class AdobeConnectUserTest < MiniTest::Unit::TestCase
|
|
72
72
|
def test_create_should_return_a_new_user
|
73
73
|
AdobeConnect::User.any_instance.expects(:save).returns(true)
|
74
74
|
|
75
|
-
connect_user = AdobeConnect::User.create(@
|
75
|
+
connect_user = AdobeConnect::User.create(@app_user)
|
76
76
|
assert_instance_of AdobeConnect::User, connect_user
|
77
77
|
end
|
78
78
|
|
79
79
|
def test_find_should_return_an_existing_user
|
80
|
-
response = mock(status
|
80
|
+
response = mock(:status => 200)
|
81
81
|
response.expects(:body).returns(FIND_SUCCESS)
|
82
82
|
ac_response = AdobeConnect::Response.new(response)
|
83
83
|
AdobeConnect::Service.any_instance.expects(:principal_list).
|
84
|
-
with(filter_login
|
84
|
+
with(:filter_login => 'test@example.com').
|
85
85
|
returns(ac_response)
|
86
86
|
|
87
|
-
|
88
|
-
connect_user = AdobeConnect::User.find(
|
87
|
+
app_user = stub(:email => 'test@example.com')
|
88
|
+
connect_user = AdobeConnect::User.find(app_user)
|
89
89
|
assert_instance_of AdobeConnect::User, connect_user
|
90
90
|
end
|
91
91
|
|
92
92
|
def test_find_should_set_user_attributes
|
93
|
-
response = mock(status
|
93
|
+
response = mock(:status => 200)
|
94
94
|
response.expects(:body).returns(FIND_ERROR)
|
95
95
|
ac_response = AdobeConnect::Response.new(response)
|
96
96
|
AdobeConnect::Service.any_instance.expects(:principal_list).
|
97
97
|
returns(ac_response)
|
98
98
|
|
99
|
-
|
100
|
-
connect_user = AdobeConnect::User.find(
|
99
|
+
app_user = stub(:email => 'notfound@example.com')
|
100
|
+
connect_user = AdobeConnect::User.find(app_user)
|
101
101
|
assert_nil connect_user
|
102
102
|
end
|
103
103
|
end
|
data/travis.yml
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adobe_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -107,6 +107,38 @@ dependencies:
|
|
107
107
|
- - ~>
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: 0.13.2
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: yard
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.8.4.1
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.8.4.1
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: yard-tomdoc
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 0.6.0
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 0.6.0
|
110
142
|
description: An API wrapper for interacting with Adobe Connect services.
|
111
143
|
email:
|
112
144
|
- zachpendleton@gmail.com
|
@@ -128,7 +160,6 @@ files:
|
|
128
160
|
- lib/adobe_connect/param_formatter.rb
|
129
161
|
- lib/adobe_connect/response.rb
|
130
162
|
- lib/adobe_connect/service.rb
|
131
|
-
- lib/adobe_connect/session.rb
|
132
163
|
- lib/adobe_connect/user.rb
|
133
164
|
- lib/adobe_connect/version.rb
|
134
165
|
- test/fixtures/folder_contents.xml
|
@@ -146,6 +177,7 @@ files:
|
|
146
177
|
- test/lib/adobe_connect/service_test.rb
|
147
178
|
- test/lib/adobe_connect/user_test.rb
|
148
179
|
- test/test_helper.rb
|
180
|
+
- travis.yml
|
149
181
|
homepage: https://github.com/zachpendleton/adobe_connect
|
150
182
|
licenses: []
|
151
183
|
post_install_message:
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module AdobeConnect
|
2
|
-
class Session
|
3
|
-
attr_reader :service, :user
|
4
|
-
|
5
|
-
def initialize(user, service = Service.new)
|
6
|
-
@user = user
|
7
|
-
@service = service
|
8
|
-
end
|
9
|
-
|
10
|
-
def key
|
11
|
-
unless key
|
12
|
-
service.log_in
|
13
|
-
@key = service.session
|
14
|
-
end
|
15
|
-
|
16
|
-
key
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|