Sha256: b3a8180186245af409b291bf900636ccabc1f6407f83524b102724071f1f6ded
Contents?: true
Size: 1.55 KB
Versions: 1
Compression:
Stored size: 1.55 KB
Contents
module M3u8 # MediaItem represents a set of EXT-X-MEDIA attributes class MediaItem attr_accessor :type, :group, :language, :assoc_language, :name, :autoselect, :default, :uri, :forced def initialize(params = {}) params.each do |key, value| instance_variable_set("@#{key}", value) end end def to_s attributes = [type_format, group_format, language_format, assoc_language_format, name_format, autoselect_format, default_format, uri_format, forced_format].compact.join(',') "#EXT-X-MEDIA:#{attributes}" end private def type_format "TYPE=#{type}" end def group_format %(GROUP-ID="#{group}") end def language_format return if language.nil? %(LANGUAGE="#{language}") end def assoc_language_format return if assoc_language.nil? %(ASSOC-LANGUAGE="#{assoc_language}") end def name_format %(NAME="#{name}") end def autoselect_format return if autoselect.nil? "AUTOSELECT=#{to_yes_no autoselect}" end def default_format return if default.nil? "DEFAULT=#{to_yes_no default}" end def uri_format return if uri.nil? %(URI="#{uri}") end def forced_format return if forced.nil? "FORCED=#{to_yes_no forced}" end def to_yes_no(boolean) boolean == true ? 'YES' : 'NO' end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
m3u8-0.4.0 | lib/m3u8/media_item.rb |