sproutvideo-rb 1.3.0 → 1.3.1
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.
- data/README.markdown +24 -5
- data/lib/sproutvideo/version.rb +1 -1
- data/lib/sproutvideo/video.rb +2 -6
- data/spec/sproutvideo/video_spec.rb +5 -14
- data/sproutvideo-rb.gemspec +2 -2
- metadata +4 -4
data/README.markdown
CHANGED
@@ -105,12 +105,31 @@ Sproutvideo::Video.delete('abc123')
|
|
105
105
|
```
|
106
106
|
|
107
107
|
##Signed Embed Codes
|
108
|
-
You can use this
|
108
|
+
You can use this convenience method to sign an embed code. It will return the embed code URL which can be used to build an iframe embed code.
|
109
|
+
`Sproutvideo::Video.signed_embed_code(video_id, security_token, query_parameters, expiration_time, protocol)`
|
110
|
+
|
111
|
+
###Parameters
|
112
|
+
video_id - _String_ (_Required_)
|
113
|
+
: The id of the video for which you're generating the signed embed code
|
114
|
+
|
115
|
+
security_token - _String_ (_Required_)
|
116
|
+
: The security token of the video for which you're generatingn the signed embed code
|
117
|
+
|
118
|
+
query_parameteres - _Hash_ (_Optional_)
|
119
|
+
: A hash of query parameters to be passed to the embed code. Example: `{'type' => 'hd', 'autoplay' => true}`
|
120
|
+
|
121
|
+
expiration_time - _Integer_ (_Optional_)
|
122
|
+
: The number of seconds from the Epoc that this signed embed code should expire. This defaults to 5 minutes from the time the signed embed code was generated.
|
123
|
+
|
124
|
+
protocol - _String_ (_Optional_)
|
125
|
+
: `http` or `https`. Defaults to `http`
|
126
|
+
|
127
|
+
###Examples
|
109
128
|
```ruby
|
110
|
-
Sproutvideo::Video.signed_embed_code('abc123') #sign a base embed code with no other options
|
111
|
-
Sproutvideo::Video.signed_embed_code('abc123', {'type' => 'hd'}) #set parameters for the embed code such as changing the default video type to HD
|
112
|
-
Sproutvideo::Video.signed_embed_code('abc123', {}, 1368127991) #set a specific expiration time for the signed embed code. (By default the expiration time is set to 5 minutes from the time the signed embed code was generated).
|
113
|
-
Sproutvideo::Video.signed_embed_code('abc123', {}, nil, 'https') #Use https instead of http
|
129
|
+
Sproutvideo::Video.signed_embed_code('abc123','def456') #sign a base embed code with no other options
|
130
|
+
Sproutvideo::Video.signed_embed_code('abc123','def456', {'type' => 'hd'}) #set parameters for the embed code such as changing the default video type to HD
|
131
|
+
Sproutvideo::Video.signed_embed_code('abc123','def456', {}, 1368127991) #set a specific expiration time for the signed embed code. (By default the expiration time is set to 5 minutes from the time the signed embed code was generated).
|
132
|
+
Sproutvideo::Video.signed_embed_code('abc123','def456', {}, nil, 'https') #Use https instead of http
|
114
133
|
```
|
115
134
|
|
116
135
|
# Tags
|
data/lib/sproutvideo/version.rb
CHANGED
data/lib/sproutvideo/video.rb
CHANGED
@@ -26,13 +26,9 @@ module Sproutvideo
|
|
26
26
|
delete("/videos/#{video_id}", options)
|
27
27
|
end
|
28
28
|
|
29
|
-
def self.signed_embed_code(video_id, params={}, expires=nil, protocol='http')
|
30
|
-
#get video
|
31
|
-
resp = get("/videos/#{video_id}")
|
32
|
-
token = resp.body[:security_token]
|
33
|
-
|
29
|
+
def self.signed_embed_code(video_id, security_token, params={}, expires=nil, protocol='http')
|
34
30
|
host = 'videos.sproutvideo.com'
|
35
|
-
path = "/embed/#{video_id}/#{
|
31
|
+
path = "/embed/#{video_id}/#{security_token}"
|
36
32
|
string_to_sign = "GET\n"
|
37
33
|
string_to_sign << "#{host}\n"
|
38
34
|
string_to_sign << "#{path}\n"
|
@@ -114,8 +114,7 @@ describe Sproutvideo::Video do
|
|
114
114
|
describe "#signed_embed_code" do
|
115
115
|
before(:each) do
|
116
116
|
@video_id = 1
|
117
|
-
@
|
118
|
-
@msg = mock(:code => 200, :to_s => '{"security_token":"abc123"}')
|
117
|
+
@security_token = 'abc123'
|
119
118
|
@digest = OpenSSL::Digest::Digest.new('sha1')
|
120
119
|
OpenSSL::Digest::Digest.stub!(:new).and_return(@digest)
|
121
120
|
time = Time.now
|
@@ -123,35 +122,27 @@ describe Sproutvideo::Video do
|
|
123
122
|
@expires_time = time.to_i+300
|
124
123
|
string_to_sign = "GET\nvideos.sproutvideo.com\n/embed/1/abc123\n&expires=#{@expires_time}"
|
125
124
|
@signature = CGI::escape([OpenSSL::HMAC.digest(@digest, @api_key, string_to_sign)].pack("m").strip)
|
126
|
-
RestClient.stub!(:get).and_return(@msg)
|
127
|
-
end
|
128
|
-
|
129
|
-
it "should get the video" do
|
130
|
-
RestClient.should_receive(:get).with(
|
131
|
-
@url,
|
132
|
-
{'SproutVideo-Api-Key' => @api_key, :params => {}}).and_return(@msg)
|
133
|
-
Sproutvideo::Video.signed_embed_code(@video_id)
|
134
125
|
end
|
135
126
|
|
136
127
|
it "should sign the embed code" do
|
137
|
-
Sproutvideo::Video.signed_embed_code(@video_id).should == "http://videos.sproutvideo.com/embed/1/abc123?signature=#{@signature}&expires=#{@expires_time}"
|
128
|
+
Sproutvideo::Video.signed_embed_code(@video_id, @security_token).should == "http://videos.sproutvideo.com/embed/1/abc123?signature=#{@signature}&expires=#{@expires_time}"
|
138
129
|
end
|
139
130
|
|
140
131
|
it "should set the expires time if passed in" do
|
141
132
|
expires_time = 1368127991
|
142
133
|
string_to_sign = "GET\nvideos.sproutvideo.com\n/embed/1/abc123\n&expires=#{expires_time}"
|
143
134
|
signature = CGI::escape([OpenSSL::HMAC.digest(@digest, @api_key, string_to_sign)].pack("m").strip)
|
144
|
-
Sproutvideo::Video.signed_embed_code(@video_id, {}, 1368127991).should == "http://videos.sproutvideo.com/embed/1/abc123?signature=#{signature}&expires=#{expires_time}"
|
135
|
+
Sproutvideo::Video.signed_embed_code(@video_id, @security_token, {}, 1368127991).should == "http://videos.sproutvideo.com/embed/1/abc123?signature=#{signature}&expires=#{expires_time}"
|
145
136
|
end
|
146
137
|
|
147
138
|
it "should use the protocol that's passed in" do
|
148
|
-
Sproutvideo::Video.signed_embed_code(@video_id, {}, nil, 'https').should == "https://videos.sproutvideo.com/embed/1/abc123?signature=#{@signature}&expires=#{@expires_time}"
|
139
|
+
Sproutvideo::Video.signed_embed_code(@video_id, @security_token,{}, nil, 'https').should == "https://videos.sproutvideo.com/embed/1/abc123?signature=#{@signature}&expires=#{@expires_time}"
|
149
140
|
end
|
150
141
|
|
151
142
|
it "should sign other parameters too!" do
|
152
143
|
string_to_sign = "GET\nvideos.sproutvideo.com\n/embed/1/abc123\n&expires=#{@expires_time}&type=hd"
|
153
144
|
@signature = CGI::escape([OpenSSL::HMAC.digest(@digest, @api_key, string_to_sign)].pack("m").strip)
|
154
|
-
Sproutvideo::Video.signed_embed_code(@video_id, {'type' => 'hd'}).should == "http://videos.sproutvideo.com/embed/1/abc123?signature=#{@signature}&expires=#{@expires_time}&type=hd"
|
145
|
+
Sproutvideo::Video.signed_embed_code(@video_id, @security_token,{'type' => 'hd'}).should == "http://videos.sproutvideo.com/embed/1/abc123?signature=#{@signature}&expires=#{@expires_time}&type=hd"
|
155
146
|
end
|
156
147
|
end
|
157
148
|
|
data/sproutvideo-rb.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "sproutvideo-rb"
|
8
|
-
s.version = "1.3.
|
8
|
+
s.version = "1.3.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["SproutVideo"]
|
12
|
-
s.date = "2013-05-
|
12
|
+
s.date = "2013-05-09"
|
13
13
|
s.description = "SproutVideo API Client"
|
14
14
|
s.email = "support@sproutvideo.com"
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sproutvideo-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 1.3.
|
9
|
+
- 1
|
10
|
+
version: 1.3.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- SproutVideo
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-05-
|
18
|
+
date: 2013-05-09 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rest-client
|