cine_io 0.0.5 → 0.0.6

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5b0ec33bdf989e04c860f22f29eae5fb981b6a63
4
+ data.tar.gz: e1608d96a8949fa6adce9effdbcefda6c40520b0
5
+ SHA512:
6
+ metadata.gz: d84a65ecf9e6d49802800214a645d1e010f8b89f65c204d55fce57dbdd66cf9d82d284f37d86aed3ee3a528a2db85c6cf98009b7b8a4c90d546f9308c1372371
7
+ data.tar.gz: 424c2cd304fa73b3651c554b69b000dfeddc141a1ec28fb5b385215f5433524827db21227aafe96e0e1c1ac37f0e5ca5c2c5fe038f5c0583b5106b6b4ba405d0
data/README.md CHANGED
@@ -38,6 +38,8 @@ project = client.project.get
38
38
  # => CineIo::Project
39
39
  ```
40
40
 
41
+ To update your project:
42
+
41
43
  ```ruby
42
44
  # params:
43
45
  # name: 'a helpful project name'
@@ -93,6 +95,13 @@ stream = client.streams.create(params)
93
95
  # => CineIo::Stream
94
96
  ```
95
97
 
98
+ To get all the recordings of stream:
99
+
100
+ ```ruby
101
+ recordings = client.streams.recordings('STREAM_ID')
102
+ # => [CineIo::StreamRecording, …]
103
+ ```
104
+
96
105
  To fetch the [Flash Media Live Encoder](http://www.adobe.com/products/flash-media-encoder.html) profile for a stream:
97
106
 
98
107
  ```ruby
@@ -1,6 +1,6 @@
1
1
  class CineIo::Stream
2
2
 
3
- attr_reader :id ,:name, :play, :publish, :password, :expiration, :assignedAt
3
+ attr_reader :id, :name, :play, :publish, :password, :expiration, :assignedAt
4
4
 
5
5
  def initialize(attributes)
6
6
  attributes.each do |attribute, value|
@@ -0,0 +1,11 @@
1
+ class CineIo::StreamRecording
2
+
3
+ attr_reader :name, :url, :size, :date
4
+
5
+ def initialize(attributes)
6
+ attributes.each do |attribute, value|
7
+ instance_variable_set "@#{attribute}", value
8
+ end
9
+ end
10
+
11
+ end
@@ -12,6 +12,10 @@ 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))
17
+ end
18
+
15
19
  # params
16
20
  # name: 'some stream name'
17
21
  def create(params={})
@@ -1,3 +1,3 @@
1
1
  module CineIo
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe CineIo::StreamRecording do
4
+
5
+ subject { CineIo::StreamRecording.new(:name => 'my name') }
6
+
7
+ it 'has some attributes' do
8
+ expect(subject.name).to eq('my name')
9
+ end
10
+
11
+ end
@@ -25,6 +25,28 @@ describe CineIo::StreamsHandler do
25
25
  end
26
26
  end
27
27
 
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
41
+ end
42
+
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
47
+ end
48
+ end
49
+
28
50
  describe '#fmle_profile' do
29
51
  it "returns a fmle profile" do
30
52
  VCR.use_cassette('get_fmle_profile') do
@@ -0,0 +1,41 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.cine.io/api/1/-/stream/recordings?id=53718cef450ff80200f81856&secretKey=MY%20SECRET
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Content-Type:
20
+ - application/json; charset=utf-8
21
+ Date:
22
+ - Sun, 01 Jun 2014 23:00:30 GMT
23
+ Etag:
24
+ - ! '"141729763"'
25
+ Set-Cookie:
26
+ - connect.sid=s%3AmCygPst4k0FvNgN7v0iUWSzA.9SXtKjamHPmkxX%2F1xf6t87xWvgH1fGBmZoIwN7Rizck;
27
+ Path=/; HttpOnly
28
+ Vary:
29
+ - Accept-Encoding
30
+ X-Powered-By:
31
+ - Express
32
+ Content-Length:
33
+ - '381'
34
+ Connection:
35
+ - keep-alive
36
+ body:
37
+ encoding: US-ASCII
38
+ string: ! '[{"name": "recordingName", "url": "recordingUrl", "date": "recording Date", "size": 12345}, {"name": "recordingName2", "url": "recordingUrl2", "date": "recording Date2", "size": 54321}]'
39
+ http_version:
40
+ recorded_at: Sun, 01 Jun 2014 23:00:30 GMT
41
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,41 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.cine.io/api/1/-/stream/recordings?id=NOT_AN_ID&secretKey=MY%20SECRET
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*'
12
+ User-Agent:
13
+ - Ruby
14
+ response:
15
+ status:
16
+ code: 400
17
+ message: Bad Request
18
+ headers:
19
+ Content-Type:
20
+ - text/html; charset=utf-8
21
+ Date:
22
+ - Sun, 01 Jun 2014 23:03:47 GMT
23
+ Etag:
24
+ - ! '"-585839348"'
25
+ Set-Cookie:
26
+ - connect.sid=s%3AKC9zAanqovojKCzHHLfhV3SF.j9HEpMhw2nEBGIlm4%2Frx5xhlJHLd6lWp4LG%2FXSDNfRo;
27
+ Path=/; HttpOnly
28
+ Vary:
29
+ - Accept-Encoding
30
+ X-Powered-By:
31
+ - Express
32
+ Content-Length:
33
+ - '29'
34
+ Connection:
35
+ - keep-alive
36
+ body:
37
+ encoding: US-ASCII
38
+ string: An unknown error has occured.
39
+ http_version:
40
+ recorded_at: Sun, 01 Jun 2014 23:03:47 GMT
41
+ recorded_with: VCR 2.3.0
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cine_io
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
5
- prerelease:
4
+ version: 0.0.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - cine.io
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-06-11 00:00:00.000000000 Z
11
+ date: 2014-07-29 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: webmock
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: vcr
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -111,10 +100,12 @@ files:
111
100
  - lib/cine_io/projects_handler.rb
112
101
  - lib/cine_io/resource_handler.rb
113
102
  - lib/cine_io/stream.rb
103
+ - lib/cine_io/stream_recording.rb
114
104
  - lib/cine_io/streams_handler.rb
115
105
  - lib/cine_io/version.rb
116
106
  - spec/cine_io/project_spec.rb
117
107
  - spec/cine_io/projects_handler_spec.rb
108
+ - spec/cine_io/stream_recording_spec.rb
118
109
  - spec/cine_io/stream_spec.rb
119
110
  - spec/cine_io/streams_handler_spec.rb
120
111
  - spec/cine_io_spec.rb
@@ -131,6 +122,8 @@ files:
131
122
  - spec/fixtures/vcr_cassettes/get_project_error.yml
132
123
  - spec/fixtures/vcr_cassettes/get_stream.yml
133
124
  - spec/fixtures/vcr_cassettes/get_stream_error.yml
125
+ - spec/fixtures/vcr_cassettes/get_stream_recordings.yml
126
+ - spec/fixtures/vcr_cassettes/get_stream_recordings_error.yml
134
127
  - spec/fixtures/vcr_cassettes/get_streams.yml
135
128
  - spec/fixtures/vcr_cassettes/get_streams_error.yml
136
129
  - spec/fixtures/vcr_cassettes/update_project.yml
@@ -141,31 +134,31 @@ files:
141
134
  homepage: https://github.com/cine-io/cineio-ruby
142
135
  licenses:
143
136
  - MIT
137
+ metadata: {}
144
138
  post_install_message:
145
139
  rdoc_options: []
146
140
  require_paths:
147
141
  - lib
148
142
  required_ruby_version: !ruby/object:Gem::Requirement
149
- none: false
150
143
  requirements:
151
- - - ! '>='
144
+ - - '>='
152
145
  - !ruby/object:Gem::Version
153
146
  version: '0'
154
147
  required_rubygems_version: !ruby/object:Gem::Requirement
155
- none: false
156
148
  requirements:
157
- - - ! '>='
149
+ - - '>='
158
150
  - !ruby/object:Gem::Version
159
151
  version: '0'
160
152
  requirements: []
161
153
  rubyforge_project:
162
- rubygems_version: 1.8.23
154
+ rubygems_version: 2.0.3
163
155
  signing_key:
164
- specification_version: 3
156
+ specification_version: 4
165
157
  summary: The official cine.io ruby gem
166
158
  test_files:
167
159
  - spec/cine_io/project_spec.rb
168
160
  - spec/cine_io/projects_handler_spec.rb
161
+ - spec/cine_io/stream_recording_spec.rb
169
162
  - spec/cine_io/stream_spec.rb
170
163
  - spec/cine_io/streams_handler_spec.rb
171
164
  - spec/cine_io_spec.rb
@@ -182,6 +175,8 @@ test_files:
182
175
  - spec/fixtures/vcr_cassettes/get_project_error.yml
183
176
  - spec/fixtures/vcr_cassettes/get_stream.yml
184
177
  - spec/fixtures/vcr_cassettes/get_stream_error.yml
178
+ - spec/fixtures/vcr_cassettes/get_stream_recordings.yml
179
+ - spec/fixtures/vcr_cassettes/get_stream_recordings_error.yml
185
180
  - spec/fixtures/vcr_cassettes/get_streams.yml
186
181
  - spec/fixtures/vcr_cassettes/get_streams_error.yml
187
182
  - spec/fixtures/vcr_cassettes/update_project.yml