Module: WowzaRest::Applications

Included in:
API
Defined in:
lib/wowza_rest/applications.rb

Instance Method Summary collapse

Instance Method Details

#applicationsObject



3
4
5
# File 'lib/wowza_rest/applications.rb', line 3

def applications
  connection.request(:get, '/applications').parsed_response
end

#create_application(app_body, use_default_config = true) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/wowza_rest/applications.rb', line 12

def create_application(app_body, use_default_config = true)
  unless app_body.include?(:name) && app_body.include?(:appType)
    raise WowzaRest::Errors::MissingRequiredKeys,
          '{ name } and/or { appType } Keys on application hash is required'
  end
  if use_default_config
    app_body = default_application_config.merge(app_body)
  end
  connection.request(:post, '/applications', body: app_body.to_json)
end

#delete_application(app_name) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/wowza_rest/applications.rb', line 29

def delete_application(app_name)
  unless app_name.is_a?(String)
    raise WowzaRest::Errors::InvalidArgumentType,
          "First argument expected to be String got #{app_name.class}"
  end
  connection.request(:delete, "/applications/#{app_name}")['success']
end

#get_application(app_name) ⇒ Object



7
8
9
10
# File 'lib/wowza_rest/applications.rb', line 7

def get_application(app_name)
  response = connection.request(:get, "/applications/#{app_name}")
  response.response.code == '200' ? response.parsed_response : nil
end

#update_application(app_name, config) ⇒ Object



23
24
25
26
27
# File 'lib/wowza_rest/applications.rb', line 23

def update_application(app_name, config)
  apply_update_application_checks(app_name, config)
  connection.request(:put, "/applications/#{app_name}",
                     body: config.to_json)['success']
end