module ApplicationHelper::Amp::Components::AnimTagHelper
Public Instance Methods
amp_anim(source, options = {}, &block)
click to toggle source
# File lib/generators/templates/components/helpers/anim_tag_helper.rb, line 4 def amp_anim(source, options = {}, &block) options = options.symbolize_keys source = options[:src] = path_to_image(source, skip_pipeline: options.delete(:skip_pipeline)) options[:width], options[:height] = extract_dimensions(options.delete(:size)) if options[:size] warn "WARNING (AMP): specify width and height of amp-anim tags." unless options[:width] && options[:height] options[:layout] = "responsive" unless options[:layout] != "responsive" if block_given? content_tag("amp-anim", capture(&block), options) else if options[:placeholder] placeholder = options[:placeholder] options.delete(:placeholder) content_tag("amp-anim", options) do placeholder = options[:src] = path_to_image(source, skip_pipeline: options.delete(:skip_pipeline)) amp_placeholder("amp-img", options) end else content_tag("amp-anim", options) end end end
Private Instance Methods
extract_dimensions(size)
click to toggle source
# File lib/generators/templates/components/helpers/anim_tag_helper.rb, line 32 def extract_dimensions(size) size = size.to_s if /\A\d+x\d+\z/.match?(size) size.split("x") elsif /\A\d+\z/.match?(size) [size, size] end end