module TextTube::Baby::EmbeddingAudio

Embed some audio via [audio]

Constants

DEFAULTS

default attributes

audio

Public Class Methods

render_tag(link,desc,attributes) click to toggle source

Does the grunt work of rendering the tag. @private @param [String] link @param [String] desc @param [Hash] attributes

# File lib/texttube/baby/embedding_audio.rb, line 51
def self.render_tag(link,desc,attributes)
        fallback_text = attributes.delete(:fallback_text)
        src_base = attributes.delete(:src_base)
        make_inner = ->(lnk){%Q!<source src='#{src_base}#{lnk}' type='audio/#{File.extname(lnk)[1..-1]}' />!}
        inner = make_inner.( link )
        inner += make_inner.( link.sub(/m4a$/, "ogg") ) if File.extname(link) == ".m4a"
        %Q!<div class='audio'><h3>#{desc}</h3><audio #{attributes.map{|(k,v)| "#{k}='#{v}'" }.join(" ")}>#{inner}#{fallback_text}</audio></div>!.strip.gsub /\s+/, " "
end
run(content, options={}) click to toggle source

@param [String] content @param [Hash] options @return [String]

# File lib/texttube/baby/embedding_audio.rb, line 35
def self.run(content, options={})
        options ||= {}
        attributes = DEFAULTS.merge options
                 
        content.gsub( R_link ) { |m|
                url,desc = $1,$2
                EmbeddingAudio::render_tag(url,desc,attributes)
        }
end