cine_io 0.0.6 → 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/README.md +9 -2
- data/lib/cine_io/stream_recordings_handler.rb +11 -0
- data/lib/cine_io/streams_handler.rb +2 -2
- data/lib/cine_io/version.rb +1 -1
- data/spec/cine_io/stream_recordings_handler_spec.rb +46 -0
- data/spec/cine_io/streams_handler_spec.rb +4 -16
- data/spec/fixtures/vcr_cassettes/delete_stream_recording.yml +41 -0
- data/spec/fixtures/vcr_cassettes/delete_stream_recording_error.yml +38 -0
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 129fa81cea126c8c282860014af9c8996c17b517
|
4
|
+
data.tar.gz: 82c95d117260a42fcff3dccbaf965375a0fb5259
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1a6e3da38a5075e6eab338e39b1d8e336807c4acc666649f01622b449dc16e8b58f1b96a32487ed4d868f05e7d743f0d0c40e46754a8ccbe6e514b60a52fad9
|
7
|
+
data.tar.gz: 762f2912e3b05d100d473e91167175ce4ee34bde1bc4fee435b90d2706cd526df039260aa60bae0f076970568ec8da3cd0335f8ac03678803531c91c65737a87
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[![Build Status](https://travis-ci.org/cine-io/cineio-ruby.svg?branch=master)](https://travis-ci.org/cine-io/cineio-ruby)
|
4
4
|
|
5
|
-
The ruby gem for [cine.io](cine.io).
|
5
|
+
The [ruby gem](https://rubygems.org/gems/cine_io) for [cine.io](cine.io).
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
@@ -98,10 +98,17 @@ stream = client.streams.create(params)
|
|
98
98
|
To get all the recordings of stream:
|
99
99
|
|
100
100
|
```ruby
|
101
|
-
recordings = client.streams.recordings('STREAM_ID')
|
101
|
+
recordings = client.streams.recordings.index('STREAM_ID')
|
102
102
|
# => [CineIo::StreamRecording, …]
|
103
103
|
```
|
104
104
|
|
105
|
+
To delete a the recordings of stream:
|
106
|
+
|
107
|
+
```ruby
|
108
|
+
recordings = client.streams.recordings.delete('STREAM_ID', 'recordingName')
|
109
|
+
# => Date String
|
110
|
+
```
|
111
|
+
|
105
112
|
To fetch the [Flash Media Live Encoder](http://www.adobe.com/products/flash-media-encoder.html) profile for a stream:
|
106
113
|
|
107
114
|
```ruby
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class CineIo::StreamRecordingsHandler < CineIo::ResourceHandler
|
2
|
+
|
3
|
+
def index(stream_id)
|
4
|
+
get_resource("/stream/recordings", id: stream_id).map(&CineIo::StreamRecording.method(:new))
|
5
|
+
end
|
6
|
+
|
7
|
+
def delete(stream_id, recordingName)
|
8
|
+
delete_resource("/stream/recording", id: stream_id, name: recordingName).fetch('deletedAt')
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
@@ -12,8 +12,8 @@ class CineIo::StreamsHandler < CineIo::ResourceHandler
|
|
12
12
|
get_resource("/stream", id: stream_id, fmleProfile: true).fetch('content')
|
13
13
|
end
|
14
14
|
|
15
|
-
def recordings
|
16
|
-
|
15
|
+
def recordings
|
16
|
+
@streams ||= CineIo::StreamRecordingsHandler.new(@client)
|
17
17
|
end
|
18
18
|
|
19
19
|
# params
|
data/lib/cine_io/version.rb
CHANGED
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe CineIo::StreamRecordingsHandler do
|
4
|
+
|
5
|
+
let(:client) { CineIo::Client.new(:secretKey => "MY SECRET", :publicKey => "MY PUBLIC") }
|
6
|
+
|
7
|
+
subject { described_class.new(client) }
|
8
|
+
|
9
|
+
describe '#index' do
|
10
|
+
it "returns a stream" do
|
11
|
+
VCR.use_cassette('get_stream_recordings') do
|
12
|
+
recordings = subject.index("53718cef450ff80200f81856")
|
13
|
+
expect(recordings.length).to eq(2)
|
14
|
+
|
15
|
+
recording = recordings.first
|
16
|
+
expect(recording).to be_a(CineIo::StreamRecording)
|
17
|
+
expect(recording.name).to eq("recordingName")
|
18
|
+
expect(recording.url).to eq("recordingUrl")
|
19
|
+
expect(recording.date).to eq("recording Date")
|
20
|
+
expect(recording.size).to eq(12345)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'can throw an error on api exception' do
|
25
|
+
VCR.use_cassette('get_stream_recordings_error') do
|
26
|
+
expect {subject.index("NOT_AN_ID")}.to raise_error(CineIo::ApiError, "An unknown error has occured.")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe '#delete' do
|
32
|
+
it "returns a stream" do
|
33
|
+
VCR.use_cassette('delete_stream_recording') do
|
34
|
+
recordingDeletedAt = subject.delete("53718cef450ff80200f81856", "VALID_RECORDING")
|
35
|
+
expect(recordingDeletedAt).to eq("2014-06-09T20:11:20.608Z")
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'can throw an error on api exception' do
|
40
|
+
VCR.use_cassette('delete_stream_recording_error') do
|
41
|
+
expect {subject.delete("53718cef450ff80200f81856", "NOT_A_RECORDING")}.to raise_error(CineIo::ApiError, "An unknown error has occured.")
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -26,24 +26,12 @@ describe CineIo::StreamsHandler do
|
|
26
26
|
end
|
27
27
|
|
28
28
|
describe '#recordings' do
|
29
|
-
it
|
30
|
-
|
31
|
-
recordings = subject.recordings("53718cef450ff80200f81856")
|
32
|
-
expect(recordings.length).to eq(2)
|
33
|
-
|
34
|
-
recording = recordings.first
|
35
|
-
expect(recording).to be_a(CineIo::StreamRecording)
|
36
|
-
expect(recording.name).to eq("recordingName")
|
37
|
-
expect(recording.url).to eq("recordingUrl")
|
38
|
-
expect(recording.date).to eq("recording Date")
|
39
|
-
expect(recording.size).to eq(12345)
|
40
|
-
end
|
29
|
+
it 'returns an instance of a StreamRecordingsHandler' do
|
30
|
+
expect(subject.recordings).to be_a(CineIo::StreamRecordingsHandler)
|
41
31
|
end
|
42
32
|
|
43
|
-
it '
|
44
|
-
|
45
|
-
expect {subject.recordings("NOT_AN_ID")}.to raise_error(CineIo::ApiError, "An unknown error has occured.")
|
46
|
-
end
|
33
|
+
it 'passes along the client to the StreamRecordingsHandler' do
|
34
|
+
expect(subject.recordings.instance_variable_get(:@client)).to eq(client)
|
47
35
|
end
|
48
36
|
end
|
49
37
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: delete
|
5
|
+
uri: https://www.cine.io/api/1/-/stream/recording
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: secretKey=MY+SECRET&id=53718cef450ff80200f81856&name=VALID_RECORDING
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
Content-Type:
|
15
|
+
- application/x-www-form-urlencoded
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- application/json; charset=utf-8
|
23
|
+
Date:
|
24
|
+
- Mon, 09 Jun 2014 20:11:20 GMT
|
25
|
+
Set-Cookie:
|
26
|
+
- connect.sid=s%3Ai7nlBuDnKvrZJHC7GhJAcos6.BabWYwU0yuQYyqe9oely9%2FrDxtWc1dlcl2qAt3zRdi8;
|
27
|
+
Path=/; HttpOnly
|
28
|
+
Vary:
|
29
|
+
- Accept-Encoding
|
30
|
+
X-Powered-By:
|
31
|
+
- Express
|
32
|
+
Content-Length:
|
33
|
+
- '111'
|
34
|
+
Connection:
|
35
|
+
- keep-alive
|
36
|
+
body:
|
37
|
+
encoding: US-ASCII
|
38
|
+
string: ! '{"deletedAt":"2014-06-09T20:11:20.608Z"}'
|
39
|
+
http_version:
|
40
|
+
recorded_at: Mon, 09 Jun 2014 20:11:20 GMT
|
41
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: delete
|
5
|
+
uri: https://www.cine.io/api/1/-/stream/recording
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: secretKey=MY+SECRET&id=53718cef450ff80200f81856&name=NOT_A_RECORDING
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
Content-Type:
|
15
|
+
- application/x-www-form-urlencoded
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 503
|
19
|
+
message: Service Unavailable
|
20
|
+
headers:
|
21
|
+
Cache-Control:
|
22
|
+
- no-cache, no-store
|
23
|
+
Content-Type:
|
24
|
+
- text/html; charset=utf-8
|
25
|
+
Date:
|
26
|
+
- Mon, 09 Jun 2014 20:12:42 GMT
|
27
|
+
Server:
|
28
|
+
- MochiWeb/1.0 (Any of you quaids got a smint?)
|
29
|
+
Content-Length:
|
30
|
+
- '484'
|
31
|
+
Connection:
|
32
|
+
- keep-alive
|
33
|
+
body:
|
34
|
+
encoding: US-ASCII
|
35
|
+
string: An unknown error has occured.
|
36
|
+
http_version:
|
37
|
+
recorded_at: Mon, 09 Jun 2014 20:12:42 GMT
|
38
|
+
recorded_with: VCR 2.9.2
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cine_io
|
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
|
- cine.io
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -101,11 +101,13 @@ files:
|
|
101
101
|
- lib/cine_io/resource_handler.rb
|
102
102
|
- lib/cine_io/stream.rb
|
103
103
|
- lib/cine_io/stream_recording.rb
|
104
|
+
- lib/cine_io/stream_recordings_handler.rb
|
104
105
|
- lib/cine_io/streams_handler.rb
|
105
106
|
- lib/cine_io/version.rb
|
106
107
|
- spec/cine_io/project_spec.rb
|
107
108
|
- spec/cine_io/projects_handler_spec.rb
|
108
109
|
- spec/cine_io/stream_recording_spec.rb
|
110
|
+
- spec/cine_io/stream_recordings_handler_spec.rb
|
109
111
|
- spec/cine_io/stream_spec.rb
|
110
112
|
- spec/cine_io/streams_handler_spec.rb
|
111
113
|
- spec/cine_io_spec.rb
|
@@ -116,6 +118,8 @@ files:
|
|
116
118
|
- spec/fixtures/vcr_cassettes/delete_project_error.yml
|
117
119
|
- spec/fixtures/vcr_cassettes/delete_stream.yml
|
118
120
|
- spec/fixtures/vcr_cassettes/delete_stream_error.yml
|
121
|
+
- spec/fixtures/vcr_cassettes/delete_stream_recording.yml
|
122
|
+
- spec/fixtures/vcr_cassettes/delete_stream_recording_error.yml
|
119
123
|
- spec/fixtures/vcr_cassettes/get_fmle_profile.yml
|
120
124
|
- spec/fixtures/vcr_cassettes/get_fmle_profile_error.yml
|
121
125
|
- spec/fixtures/vcr_cassettes/get_project.yml
|
@@ -159,6 +163,7 @@ test_files:
|
|
159
163
|
- spec/cine_io/project_spec.rb
|
160
164
|
- spec/cine_io/projects_handler_spec.rb
|
161
165
|
- spec/cine_io/stream_recording_spec.rb
|
166
|
+
- spec/cine_io/stream_recordings_handler_spec.rb
|
162
167
|
- spec/cine_io/stream_spec.rb
|
163
168
|
- spec/cine_io/streams_handler_spec.rb
|
164
169
|
- spec/cine_io_spec.rb
|
@@ -169,6 +174,8 @@ test_files:
|
|
169
174
|
- spec/fixtures/vcr_cassettes/delete_project_error.yml
|
170
175
|
- spec/fixtures/vcr_cassettes/delete_stream.yml
|
171
176
|
- spec/fixtures/vcr_cassettes/delete_stream_error.yml
|
177
|
+
- spec/fixtures/vcr_cassettes/delete_stream_recording.yml
|
178
|
+
- spec/fixtures/vcr_cassettes/delete_stream_recording_error.yml
|
172
179
|
- spec/fixtures/vcr_cassettes/get_fmle_profile.yml
|
173
180
|
- spec/fixtures/vcr_cassettes/get_fmle_profile_error.yml
|
174
181
|
- spec/fixtures/vcr_cassettes/get_project.yml
|