Module: EdgeCast::Client::Media

Defined in:
lib/edge_cast/client/media.rb,
lib/edge_cast/client/media/token.rb,
lib/edge_cast/client/media/cache/settings.rb,
lib/edge_cast/client/media/cache/management.rb,
lib/edge_cast/client/media/log/settings/format.rb,
lib/edge_cast/client/media/log/settings/storage.rb,
lib/edge_cast/client/media/cache/settings/compression.rb,
lib/edge_cast/client/media/cache/settings/query_string_caching.rb,
lib/edge_cast/client/media/cache/settings/query_string_logging.rb

Defined Under Namespace

Modules: Cache, Log, Token

Constant Summary collapse

TYPES =
[
  { :name => :wms, :keys => [:windows_media_streaming, :wms], :code => 1 },
  { :name => :fms, :keys => [:flash_media_streaming, :fms], :code => 2 },
  { :name => :hlo, :keys => [:http_large_object, :hlo], :code => 3 },
  { :name => :hso, :keys => [:http_small_object, :hso], :code => 8 },
  { :name => :adn, :keys => [:application_delivery_network, :adn], :code => 14 },
]

Class Method Summary collapse

Class Method Details

.from_code(code) ⇒ Object



13
14
15
# File 'lib/edge_cast/client/media.rb', line 13

def self.from_code(code)
  TYPES.find { |type| type[:code] == code }
end

.from_key(media_type) ⇒ Object



28
29
30
# File 'lib/edge_cast/client/media.rb', line 28

def self.from_key(media_type)
  TYPES.find { |type| type[:keys].include?(media_type) }
end

.valid_type?(media_type, action = nil) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
21
22
23
24
25
26
# File 'lib/edge_cast/client/media.rb', line 17

def self.valid_type?(media_type, action = nil)
  case action
  when :load
    TYPES.select { |t| [:fms, :hlo, :hso, :adn].include?(t[:name]) }.any? { |t| t[:keys].include?(media_type) }
  when :purge
    TYPES.select { |t| [:wms, :fms, :hlo, :hso, :adn].include?(t[:name]) }.any? { |t| t[:keys].include?(media_type) }
  else
    !(from_key(media_type).nil? && from_code(media_type).nil?)
  end
end