wowza_cloud 0.2.4 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e9219e12b45fe3a9d587697eba6c03c541b31d09
4
- data.tar.gz: 97aa73f4cfe0c06302b72deaf649dee5a21efd87
3
+ metadata.gz: 9190454982eb9df84b4c802b85b14c7f1a694134
4
+ data.tar.gz: 6f2697d10ec263485ac2359e56247872e80950cd
5
5
  SHA512:
6
- metadata.gz: f9707eb47c8c7cc1bd4cb97d0d6df1be6e06de1ee66ccfca4470e4e17dffd70e55db3c47b9cca77e9007d6c5fb793c9ae6f0271cba5e4141cbfd04693cff5752
7
- data.tar.gz: f6afd820d904778ad3a00ffa0898250e00006e9cd9d605a30350fd16173334201301b04eb9f7deef604259770962bc12e2f179c9c8233cbe4aec8ad5e1bc262b
6
+ metadata.gz: e144858e9b1b80e50b7fceec99ac4030bfc96199080cac8c9e3be1162b69110515fdd88af0cc27d236339ba65b0de18203f28ecb779ddd362a6517bfba8fe1c8
7
+ data.tar.gz: c7bfebecf6c286ce059fc7f24415077c76eda501ad2f5518994c20df0196af49f8220a98a6b53d82cb1ee1eec101502d13965b16bc39f7dfeb1adab1bd54bf13
@@ -0,0 +1,62 @@
1
+ require 'active_support/time'
2
+
3
+ module WowzaCloud
4
+ class Schedule < WowzaCloud::Client
5
+
6
+ attr_accessor :action_type, :begins_at, :created_at, :end_repeat, :ends_at, :id, :name, :recurrence_data, :start_repeat,
7
+ :state, :transcoder_id, :transcoder_name, :updated_at, :start_transcoder, :stop_transcoder
8
+
9
+
10
+ def self.all()
11
+ result = []
12
+ headers = {'wsc-api-key' => WowzaCloud.configuration.api_key, 'wsc-access-key' => WowzaCloud.configuration.access_key}
13
+ raw_result = get('/schedules', headers: headers)
14
+ raw_result['schedules'].each do |data| result << WowzaCloud::Schedule.new(data) end
15
+ return result
16
+ end
17
+
18
+ def self.get_schedule(schedule_id)
19
+ headers = {'wsc-api-key' => WowzaCloud.configuration.api_key, 'wsc-access-key' => WowzaCloud.configuration.access_key}
20
+ raw_result = get("/schedules/#{schedule_id}", headers: headers)
21
+ return WowzaCloud::Schedule.new(raw_result['schedule'])
22
+ end
23
+
24
+
25
+ def initialize(params = {})
26
+ super
27
+ params.each do |k, v|
28
+ instance_variable_set(:"@#{k}", v) if self.respond_to?("#{k}=")
29
+ end
30
+ end
31
+
32
+ def start_time
33
+ Time.parse(@start_transcoder).strftime("%H:%M:%S")
34
+ end
35
+
36
+ def end_time
37
+ Time.parse(@stop_transcoder).strftime("%H:%M:%S")
38
+ end
39
+
40
+ def status
41
+ raw_response = self.class.get("/schedules/#{self.id}/state/", headers: @headers)
42
+ return raw_response['schedule']['state']
43
+ end
44
+
45
+ alias state status
46
+
47
+ def enable
48
+ raw_response = self.class.put("/schedules/#{self.id}/enable", headers: @headers)
49
+ return raw_response['schedule']['state']
50
+ end
51
+
52
+ def disable
53
+ raw_response = self.class.put("/schedules/#{self.id}/disable", headers: @headers)
54
+ return raw_response['schedule']['state']
55
+ end
56
+
57
+ def stream
58
+ Stream.get_stream(@transcoder_id)
59
+ end
60
+
61
+ end
62
+ end
@@ -1,11 +1,11 @@
1
1
  module WowzaCloud
2
2
  class Stream < WowzaCloud::Client
3
- attr_accessor :aspect_ratio_height, :aspect_ratio_width, :billing_mode, :broadcast_location, :closed_caption_type, :delivery_method, :delivery_protocols, :delivery_protocol,
4
- :delivery_type, :disable_authentication, :encoder, :hosted_page, :hosted_page_description, :hosted_page_logo_image, :hosted_page_sharing_icons,
5
- :hosted_page_title, :name, :password, :player_countdown, :player_countdown_at, :player_logo_image, :player_resposive, :player_type,
6
- :player_video_poster_image, :player_width, :recording, :remove_hosted_page_logo_image, :remove_player_video_poster_image, :source_url,
7
- :transcoder_type, :use_stream_source, :username, :video_fallback, :api_key, :access_key, :id, :low_latency, :target_delivery_protocol, :source_connection_information,
8
- :streaming_server, :stream_name, :player_id, :player_embed_code
3
+ attr_accessor :aspect_ratio_height, :aspect_ratio_width, :billing_mode, :broadcast_location, :closed_caption_type, :connection_code, :connection_code_expires_at,
4
+ :delivery_method, :delivery_protocols, :delivery_protocol, :delivery_type, :disable_authentication, :encoder, :hosted_page, :hosted_page_description,
5
+ :hosted_page_logo_image, :hosted_page_sharing_icons, :hosted_page_title, :name, :password, :player_countdown, :player_countdown_at, :player_logo_image,
6
+ :player_resposive, :player_type, :player_video_poster_image, :player_width, :recording, :remove_hosted_page_logo_image, :remove_player_video_poster_image,
7
+ :source_url, :transcoder_type, :use_stream_source, :username, :video_fallback, :api_key, :access_key, :id, :low_latency, :target_delivery_protocol,
8
+ :source_connection_information, :streaming_server, :stream_name, :player_id, :player_embed_code
9
9
 
10
10
 
11
11
  def self.all()
@@ -75,6 +75,11 @@ module WowzaCloud
75
75
  raw_response = self.class.put("/live_streams/#{self.id}/stop", headers: @headers)
76
76
  return raw_response['live_stream']['state']
77
77
  end
78
+
79
+ # Returns the schedule attached to this stream, if one exists
80
+ def schedule
81
+ Schedule.all.select{|s| s.transcoder_id == @id }.first
82
+ end
78
83
 
79
84
  end
80
85
  end
@@ -1,3 +1,3 @@
1
1
  module WowzaCloud
2
- VERSION = "0.2.4"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/wowza_cloud.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "wowza_cloud/version"
2
2
  require "wowza_cloud/client"
3
3
  require "wowza_cloud/stream"
4
+ require "wowza_cloud/schedule"
4
5
 
5
6
  module WowzaCloud
6
7
  class << self
data/wowza_cloud.gemspec CHANGED
@@ -30,6 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.require_paths = ["lib"]
31
31
 
32
32
  spec.add_dependency 'httparty'
33
+ spec.add_dependency 'activesupport'
33
34
 
34
35
  spec.add_development_dependency "bundler", "~> 1.14"
35
36
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wowza_cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Lewis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-11 00:00:00.000000000 Z
11
+ date: 2017-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -84,6 +98,7 @@ files:
84
98
  - bin/setup
85
99
  - lib/wowza_cloud.rb
86
100
  - lib/wowza_cloud/client.rb
101
+ - lib/wowza_cloud/schedule.rb
87
102
  - lib/wowza_cloud/stream.rb
88
103
  - lib/wowza_cloud/version.rb
89
104
  - wowza_cloud.gemspec