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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5b0ec33bdf989e04c860f22f29eae5fb981b6a63
4
- data.tar.gz: e1608d96a8949fa6adce9effdbcefda6c40520b0
3
+ metadata.gz: 129fa81cea126c8c282860014af9c8996c17b517
4
+ data.tar.gz: 82c95d117260a42fcff3dccbaf965375a0fb5259
5
5
  SHA512:
6
- metadata.gz: d84a65ecf9e6d49802800214a645d1e010f8b89f65c204d55fce57dbdd66cf9d82d284f37d86aed3ee3a528a2db85c6cf98009b7b8a4c90d546f9308c1372371
7
- data.tar.gz: 424c2cd304fa73b3651c554b69b000dfeddc141a1ec28fb5b385215f5433524827db21227aafe96e0e1c1ac37f0e5ca5c2c5fe038f5c0583b5106b6b4ba405d0
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(stream_id)
16
- get_resource("/stream/recordings", id: stream_id).map(&CineIo::StreamRecording.method(:new))
15
+ def recordings
16
+ @streams ||= CineIo::StreamRecordingsHandler.new(@client)
17
17
  end
18
18
 
19
19
  # params
@@ -1,3 +1,3 @@
1
1
  module CineIo
2
- VERSION = "0.0.6"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -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 "returns a stream" do
30
- VCR.use_cassette('get_stream_recordings') do
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 'can throw an error on api exception' do
44
- VCR.use_cassette('get_stream_recordings_error') do
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.6
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-29 00:00:00.000000000 Z
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