Sha256: a3923f588b2d5bdf272868d837c62e6907c08cc410e2b6b4b7d08da008965d13
Contents?: true
Size: 1.82 KB
Versions: 2
Compression:
Stored size: 1.82 KB
Contents
# frozen_string_literal: true module PagesCore module ImagesHelper include DynamicImage::Helper def dynamic_image_tag(record_or_array, options = {}) super( record_or_array, extract_alt_text(record_or_array).merge(options) ) end def image_caption(image, caption: nil) return if caption == false caption = image.caption unless caption.is_a?(String) return if caption.blank? tag.figcaption(caption) end def image_figure(image, size: nil, class_name: nil, link: nil, caption: nil) class_name = ["image", image_class_name(image), class_name].compact size ||= default_image_size image_tag = dynamic_image_tag(image, size: size, crop: false, upscale: false) tag.figure((link ? image_link_to(image_tag, link) : image_tag) + image_caption(image, caption: caption), class: class_name) end def original_dynamic_image_tag(record_or_array, options = {}) super( record_or_array, extract_alt_text(record_or_array).merge(options) ) end def uncropped_dynamic_image_tag(record_or_array, options = {}) super( record_or_array, extract_alt_text(record_or_array).merge(options) ) end private def default_image_size "2000x2000" end def extract_alt_text(record_or_array) record = extract_dynamic_image_record(record_or_array) return {} unless record.alternative? { alt: record.alternative } end def image_class_name(image) if image.size.x == image.size.y "square" elsif image.size.x > image.size.y "landscape" else "portrait" end end def image_link_to(content, href) tag.a(content, href: href) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pages_core-3.12.2 | app/helpers/pages_core/images_helper.rb |
pages_core-3.12.1 | app/helpers/pages_core/images_helper.rb |