Sha256: 7d51e9623229bd425e46e7705921961a8d494930ce257e2f755d574d8f2453e2

Contents?: true

Size: 1.36 KB

Versions: 11

Compression:

Stored size: 1.36 KB

Contents

module Pageflow
  module AudioFilesHelper
    def audio_file_audio_tag(audio_file_id, options = {})
      options.merge!(class: ['audio-js', options.delete(:class)].compact * ' ',
                     controls: true,
                     preload: 'none')
      url_options = {unique_id: options.delete(:unique_id)}

      if (audio_file = AudioFile.find_by_id(audio_file_id))
        content_tag(:audio, options) do
          audio_file_sources(audio_file, url_options).each do |source|
            concat(tag(:source, source.slice(:src, :type)))
          end
        end
      end
    end

    def audio_file_script_tag(audio_file_id, options = {})
      if (audio_file = AudioFile.find_by_id(audio_file_id))
        render('pageflow/audio_files/script_tag',
               audio_file: audio_file,
               audio_file_sources: audio_file_sources(audio_file, options))
      end
    end

    def audio_file_non_js_link(audio_file_id)
      if (audio_file = AudioFile.find_by_id(audio_file_id))
        link_to(t('pageflow.audio.open'), short_audio_file_path(audio_file.entry, audio_file))
      end
    end

    def audio_file_sources(audio_file, options = {})
      [
        {type: 'audio/ogg', src: audio_file.ogg.url(options)},
        {type: 'audio/mp4', src: audio_file.m4a.url(options)},
        {type: 'audio/mpeg', src: audio_file.mp3.url(options)}
      ]
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
pageflow-0.9.2 app/helpers/pageflow/audio_files_helper.rb
pageflow-0.9.1 app/helpers/pageflow/audio_files_helper.rb
pageflow-0.9.0 app/helpers/pageflow/audio_files_helper.rb
pageflow-0.8.2 app/helpers/pageflow/audio_files_helper.rb
pageflow-0.8.1 app/helpers/pageflow/audio_files_helper.rb
pageflow-0.8.0 app/helpers/pageflow/audio_files_helper.rb
pageflow-0.7.2 app/helpers/pageflow/audio_files_helper.rb
pageflow-0.7.1 app/helpers/pageflow/audio_files_helper.rb
pageflow-0.7.0 app/helpers/pageflow/audio_files_helper.rb
pageflow-0.6.0 app/helpers/pageflow/audio_files_helper.rb
pageflow-0.5.0 app/helpers/pageflow/audio_files_helper.rb