active_public_resources 0.0.5 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/active_public_resources/base_response_type.rb +1 -1
- data/lib/active_public_resources/base_return_type.rb +2 -2
- data/lib/active_public_resources/drivers/khan_academy.rb +4 -0
- data/lib/active_public_resources/drivers/quizlet.rb +3 -0
- data/lib/active_public_resources/drivers/schooltube.rb +4 -0
- data/lib/active_public_resources/drivers/vimeo.rb +3 -0
- data/lib/active_public_resources/drivers/youtube.rb +4 -0
- data/lib/active_public_resources/version.rb +1 -1
- data/spec/lib/active_public_resources/driver_spec.rb +1 -1
- data/spec/lib/active_public_resources/drivers/khan_academy_spec.rb +4 -1
- data/spec/lib/active_public_resources/drivers/quizlet_spec.rb +2 -1
- data/spec/lib/active_public_resources/drivers/schooltube_spec.rb +4 -2
- data/spec/lib/active_public_resources/drivers/vimeo_spec.rb +3 -1
- data/spec/lib/active_public_resources/drivers/youtube_spec.rb +3 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea460bb501af9bbb08231a84510177ff3761ef52
|
4
|
+
data.tar.gz: 68fb85e323706aee67764043f335d85278ded269
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 321135a83f8c692fa0cb79cce1d14d7c47e47fff6bd137e91a6e1ad0f5cf9511497c5729dc2088aeb8b4bd25b81575b8beb382bf375b3d6298b0251c16270b28
|
7
|
+
data.tar.gz: eb7a94808c82a9a89fc154a0aa7f4ea9d1a2e918937b30deec61b7f42ea8cee9046a4cc8e88bcada8040afc0b023799063e912fc4eb788938b3bef4e3f2a73e1
|
@@ -3,7 +3,7 @@ module ActivePublicResources
|
|
3
3
|
class BaseReturnType
|
4
4
|
include ::ActiveModel::Serialization
|
5
5
|
|
6
|
-
attr_accessor :url, :return_type
|
6
|
+
attr_accessor :url, :return_type, :driver
|
7
7
|
|
8
8
|
def initialize(args)
|
9
9
|
args.each do |k,v|
|
@@ -16,4 +16,4 @@ module ActivePublicResources
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
19
|
-
end
|
19
|
+
end
|
@@ -4,6 +4,7 @@ module ActivePublicResources
|
|
4
4
|
module Drivers
|
5
5
|
class KhanAcademy < Driver
|
6
6
|
|
7
|
+
DRIVER_NAME = "khan_academy"
|
7
8
|
BASE_URL = "https://www.khanacademy.org/api/v1/"
|
8
9
|
|
9
10
|
def perform_request(request_criteria)
|
@@ -94,11 +95,13 @@ module ActivePublicResources
|
|
94
95
|
|
95
96
|
# Return Types
|
96
97
|
video.return_types << APR::ReturnTypes::Url.new(
|
98
|
+
:driver => DRIVER_NAME,
|
97
99
|
:url => video.url,
|
98
100
|
:text => video.title,
|
99
101
|
:title => video.title
|
100
102
|
)
|
101
103
|
video.return_types << APR::ReturnTypes::Iframe.new(
|
104
|
+
:driver => DRIVER_NAME,
|
102
105
|
:url => "https://www.youtube.com/embed/#{data['youtube_id']}?feature=oembed",
|
103
106
|
:text => video.title,
|
104
107
|
:title => video.title,
|
@@ -117,6 +120,7 @@ module ActivePublicResources
|
|
117
120
|
exercise.url = data['ka_url']
|
118
121
|
|
119
122
|
exercise.return_types << APR::ReturnTypes::Url.new(
|
123
|
+
:driver => DRIVER_NAME,
|
120
124
|
:url => exercise.url,
|
121
125
|
:text => exercise.title,
|
122
126
|
:title => exercise.title
|
@@ -3,6 +3,8 @@ require 'net/https'
|
|
3
3
|
module ActivePublicResources
|
4
4
|
module Drivers
|
5
5
|
class Quizlet < Driver
|
6
|
+
|
7
|
+
DRIVER_NAME = "quizlet"
|
6
8
|
|
7
9
|
def initialize(config_options={})
|
8
10
|
validate_options(config_options, [:client_id])
|
@@ -63,6 +65,7 @@ module ActivePublicResources
|
|
63
65
|
# Return Types
|
64
66
|
|
65
67
|
quiz.return_types << APR::ReturnTypes::Url.new(
|
68
|
+
:driver => DRIVER_NAME,
|
66
69
|
:url => quiz.url,
|
67
70
|
:text => quiz.title,
|
68
71
|
:title => quiz.title
|
@@ -4,6 +4,8 @@ module ActivePublicResources
|
|
4
4
|
module Drivers
|
5
5
|
class Schooltube < Driver
|
6
6
|
|
7
|
+
DRIVER_NAME="schooltube"
|
8
|
+
|
7
9
|
def perform_request(request_criteria)
|
8
10
|
request_criteria.validate_presence!([:query])
|
9
11
|
uri = URI('http://www.schooltube.com/api/v1/video/search/')
|
@@ -80,11 +82,13 @@ module ActivePublicResources
|
|
80
82
|
|
81
83
|
# Return Types
|
82
84
|
video.return_types << APR::ReturnTypes::Url.new(
|
85
|
+
:driver => DRIVER_NAME,
|
83
86
|
:url => video.url,
|
84
87
|
:text => video.title,
|
85
88
|
:title => video.title
|
86
89
|
)
|
87
90
|
video.return_types << APR::ReturnTypes::Iframe.new(
|
91
|
+
:driver => DRIVER_NAME,
|
88
92
|
:url => "https://www.schooltube.com/embed/#{data['vkey']}",
|
89
93
|
:text => video.title,
|
90
94
|
:title => video.title,
|
@@ -5,6 +5,7 @@ module ActivePublicResources
|
|
5
5
|
class Vimeo < Driver
|
6
6
|
attr_reader :client
|
7
7
|
|
8
|
+
DRIVER_NAME = "vimeo"
|
8
9
|
DEFAULT_CRITERIA = {
|
9
10
|
:page => 1,
|
10
11
|
:per_page => 25,
|
@@ -162,11 +163,13 @@ module ActivePublicResources
|
|
162
163
|
|
163
164
|
# Return Types
|
164
165
|
video.return_types << APR::ReturnTypes::Url.new(
|
166
|
+
:driver => DRIVER_NAME,
|
165
167
|
:url => video.url,
|
166
168
|
:text => video.title,
|
167
169
|
:title => video.title
|
168
170
|
)
|
169
171
|
video.return_types << APR::ReturnTypes::Iframe.new(
|
172
|
+
:driver => DRIVER_NAME,
|
170
173
|
:url => "https://player.vimeo.com/video/#{data['id']}",
|
171
174
|
:text => video.title,
|
172
175
|
:title => video.title,
|
@@ -4,6 +4,8 @@ module ActivePublicResources
|
|
4
4
|
module Drivers
|
5
5
|
class Youtube < Driver
|
6
6
|
|
7
|
+
DRIVER_NAME = "youtube"
|
8
|
+
|
7
9
|
def perform_request(request_criteria)
|
8
10
|
request_criteria.validate_presence!([:query])
|
9
11
|
|
@@ -94,11 +96,13 @@ module ActivePublicResources
|
|
94
96
|
|
95
97
|
# Return Types
|
96
98
|
video.return_types << APR::ReturnTypes::Url.new(
|
99
|
+
:driver => DRIVER_NAME,
|
97
100
|
:url => video.url,
|
98
101
|
:text => video.title,
|
99
102
|
:title => video.title
|
100
103
|
)
|
101
104
|
video.return_types << APR::ReturnTypes::Iframe.new(
|
105
|
+
:driver => DRIVER_NAME,
|
102
106
|
:url => "https://www.youtube.com/embed/#{video_id}?feature=oembed",
|
103
107
|
:text => video.title,
|
104
108
|
:title => video.title,
|
@@ -73,11 +73,13 @@ describe APR::Drivers::KhanAcademy do
|
|
73
73
|
video.username.should eq("Sydney Brown")
|
74
74
|
|
75
75
|
rt_url = video.return_types[0]
|
76
|
+
rt_url.driver.should eq(APR::Drivers::KhanAcademy::DRIVER_NAME)
|
76
77
|
rt_url.return_type.should eq('url')
|
77
78
|
rt_url.url.should eq("http://www.youtube.com/watch?v=9KR1bad76qg&feature=youtube_gdata_player")
|
78
79
|
rt_url.title.should eq("Institutions")
|
79
80
|
|
80
81
|
rt_iframe = video.return_types[1]
|
82
|
+
rt_iframe.driver.should eq(APR::Drivers::KhanAcademy::DRIVER_NAME)
|
81
83
|
rt_iframe.return_type.should eq('iframe')
|
82
84
|
rt_iframe.url.should eq("https://www.youtube.com/embed/9KR1bad76qg?feature=oembed")
|
83
85
|
rt_url.title.should eq("Institutions")
|
@@ -95,6 +97,7 @@ describe APR::Drivers::KhanAcademy do
|
|
95
97
|
exercise.url.should eq("http://www.khanacademy.org/exercise/social-structures---passage-1")
|
96
98
|
|
97
99
|
ex_rt_url = exercise.return_types[0]
|
100
|
+
ex_rt_url.driver.should eq(APR::Drivers::KhanAcademy::DRIVER_NAME)
|
98
101
|
ex_rt_url.return_type.should eq('url')
|
99
102
|
ex_rt_url.url.should eq("http://www.khanacademy.org/exercise/social-structures---passage-1")
|
100
103
|
ex_rt_url.title.should eq("Social structures - Passage 1")
|
@@ -103,4 +106,4 @@ describe APR::Drivers::KhanAcademy do
|
|
103
106
|
end
|
104
107
|
end
|
105
108
|
|
106
|
-
end
|
109
|
+
end
|
@@ -35,6 +35,7 @@ describe APR::Drivers::Quizlet do
|
|
35
35
|
quiz.url.should eq("http://quizlet.com/23752218/dogs-flash-cards/")
|
36
36
|
quiz.created_date.strftime("%Y-%m-%d").should eq("2013-05-25")
|
37
37
|
|
38
|
+
quiz.return_types[0].driver.should eq(APR::Drivers::Quizlet::DRIVER_NAME)
|
38
39
|
quiz.return_types.map(&:url).should eq([
|
39
40
|
"http://quizlet.com/23752218/dogs-flash-cards/",
|
40
41
|
"https://quizlet.com/23752218/flashcards/embedv2",
|
@@ -47,4 +48,4 @@ describe APR::Drivers::Quizlet do
|
|
47
48
|
end
|
48
49
|
end
|
49
50
|
|
50
|
-
end
|
51
|
+
end
|
@@ -33,6 +33,7 @@ describe APR::Drivers::Schooltube do
|
|
33
33
|
item.username.should eq("StudentGroupTravel")
|
34
34
|
|
35
35
|
rt_url = item.return_types[0]
|
36
|
+
rt_url.driver.should eq(APR::Drivers::Schooltube::DRIVER_NAME)
|
36
37
|
rt_url.return_type.should eq('url')
|
37
38
|
rt_url.url.should eq("http://bit.ly/pk3Sxs")
|
38
39
|
rt_url.title.should eq("Fun - Educational School Trips - Call American Tours & Travel")
|
@@ -40,11 +41,12 @@ describe APR::Drivers::Schooltube do
|
|
40
41
|
rt_iframe = item.return_types[1]
|
41
42
|
rt_iframe.return_type.should eq('iframe')
|
42
43
|
rt_iframe.url.should eq("https://www.schooltube.com/embed/60f374fdba394a70b4ad")
|
43
|
-
|
44
|
+
rt_iframe.driver.should eq(APR::Drivers::Schooltube::DRIVER_NAME)
|
45
|
+
rt_iframe.title.should eq("Fun - Educational School Trips - Call American Tours & Travel")
|
44
46
|
|
45
47
|
item.width.should eq(640)
|
46
48
|
item.height.should eq(360)
|
47
49
|
end
|
48
50
|
end
|
49
51
|
|
50
|
-
end
|
52
|
+
end
|
@@ -54,11 +54,13 @@ describe APR::Drivers::Vimeo do
|
|
54
54
|
item.username.should eq("Jens & Anna")
|
55
55
|
|
56
56
|
rt_url = item.return_types[0]
|
57
|
+
rt_url.driver.should eq(APR::Drivers::Vimeo::DRIVER_NAME)
|
57
58
|
rt_url.return_type.should eq('url')
|
58
59
|
rt_url.url.should eq("http://vimeo.com/67741947")
|
59
60
|
rt_url.title.should eq("Kynect 'education'")
|
60
61
|
|
61
62
|
rt_iframe = item.return_types[1]
|
63
|
+
rt_iframe.driver.should eq(APR::Drivers::Vimeo::DRIVER_NAME)
|
62
64
|
rt_iframe.return_type.should eq('iframe')
|
63
65
|
rt_iframe.url.should eq("https://player.vimeo.com/video/67741947")
|
64
66
|
rt_url.title.should eq("Kynect 'education'")
|
@@ -68,4 +70,4 @@ describe APR::Drivers::Vimeo do
|
|
68
70
|
end
|
69
71
|
end
|
70
72
|
|
71
|
-
end
|
73
|
+
end
|
@@ -35,11 +35,13 @@ describe APR::Drivers::Youtube do
|
|
35
35
|
item.return_types.count.should eq(2)
|
36
36
|
|
37
37
|
rt_url = item.return_types[0]
|
38
|
+
rt_url.driver.should eq(APR::Drivers::Youtube::DRIVER_NAME)
|
38
39
|
rt_url.return_type.should eq('url')
|
39
40
|
rt_url.url.should eq("https://www.youtube.com/watch?v=y_ZmM7zPLyI&feature=youtube_gdata_player")
|
40
41
|
rt_url.title.should eq("Why I Hate School But Love Education||Spoken Word")
|
41
42
|
|
42
43
|
rt_iframe = item.return_types[1]
|
44
|
+
rt_iframe.driver.should eq(APR::Drivers::Youtube::DRIVER_NAME)
|
43
45
|
rt_iframe.return_type.should eq('iframe')
|
44
46
|
rt_iframe.url.should eq("https://www.youtube.com/embed/y_ZmM7zPLyI?feature=oembed")
|
45
47
|
rt_url.title.should eq("Why I Hate School But Love Education||Spoken Word")
|
@@ -49,4 +51,4 @@ describe APR::Drivers::Youtube do
|
|
49
51
|
end
|
50
52
|
end
|
51
53
|
|
52
|
-
end
|
54
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_public_resources
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Berry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
158
|
version: '0'
|
159
159
|
requirements: []
|
160
160
|
rubyforge_project:
|
161
|
-
rubygems_version: 2.1
|
161
|
+
rubygems_version: 2.2.1
|
162
162
|
signing_key:
|
163
163
|
specification_version: 4
|
164
164
|
summary: Normalized searching and browsing of public resources
|