module TextTube::Baby::EmbeddingAudio
Embed some audio via [audio]
Constants
- DEFAULTS
default attributes
- R_link
- 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