Module: Picturefill::Rails::ViewHelper

Defined in:
lib/picturefill/rails/view_helper.rb

Instance Method Summary collapse

Instance Method Details

#picturefill(default_src, description, &block) ⇒ Object

Usage: <%= picturefill(default_url, “AltText”) do %>

  <%= image(small_url) %>
  <%= image(medium_url, :min => 400) %>
  <%= image(medium_high_dpi_url, :min => 400, :ratio => 1.5) %>
  <%= image(large_url, :min => 1000) %>
  <%= image(large_high_dpi_url, "(min-width: 1000px) and (min-device-pixel-ratio: 1.5)") %>
<%= end %>

Raises:

  • (ArgumentError)


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/picturefill/rails/view_helper.rb', line 11

def picturefill(default_src, description, &block)
  raise ArgumentError.new("No Block given") unless block_given?

  images = Picturefill::Context.new(&block)

   :span, :data => { :alt => description, :picture => "" } do
    markup = (:span, "", :data => { :src => image_path(default_src) }).to_s

    images.each do |img|
      data = { :src => image_path(img.src) }
      data[:media] = img.media unless img.media.blank?

      markup << (:span, "", :data => data).to_s
    end

    markup << (:noscript, image_tag(default_src, :alt => description)).to_s

    markup
  end
end