class Object

Public Instance Methods

extract_options_and_args(*attrs) click to toggle source
# File lib/loadergif.rb, line 62
def extract_options_and_args(*attrs)
  args = attrs

  if args.size > 1
    options = attrs.last.dup
    args.last.delete(:lazy)
  else
    options = {}
  end

  [options, args]
end
image_tag(*attrs) click to toggle source
# File lib/loadergif.rb, line 38
def image_tag(*attrs)
  options, args = extract_options_and_args(*attrs)
  image_html = rails_image_tag(*args)

  is_lazy = options.fetch(:lazy) { Loadergif::Rails.configuration.lazy_by_default }

  if is_lazy
    to_lazy(image_html)
  else
    image_html
  end
end
Also aliased as: rails_image_tag
rails_image_tag(*attrs)
Alias for: image_tag
to_lazy(image_html) click to toggle source
# File lib/loadergif.rb, line 53
def to_lazy(image_html)
  img = Nokogiri::HTML::DocumentFragment.parse(image_html).at_css("img")

  img["data-original"] = img["src"]
  img["src"] = Loadergif::Rails.configuration.placeholder

  img.to_s.html_safe
end