Sha256: de36d7df61c5a00cb819e86ca958d772be98931dbc0087bc2f58d576561a1d19

Contents?: true

Size: 806 Bytes

Versions: 29

Compression:

Stored size: 806 Bytes

Contents

# frozen_string_literal: true

module PagesCore
  class AttachmentEmbedder
    include ActionView::Helpers::AssetTagHelper

    attr_reader :attachments

    def initialize(attachments)
      @attachments = Array(attachments)
    end

    def to_html
      embed_attachments(attachments.map { |f| embed_attachment(f) })
    end

    def embed_attachments(embedded_attachments)
      embedded_attachments.join(", ")
    end

    def embed_attachment(attachment)
      tag.a(attachment.name, class: "file",
                             href: attachment_path(attachment))
    end

    private

    def attachment_path(attachment)
      Rails.application.routes.url_helpers.attachment_path(
        attachment.digest,
        attachment,
        format: attachment.filename_extension
      )
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
pages_core-3.15.5 lib/pages_core/attachment_embedder.rb
pages_core-3.15.4 lib/pages_core/attachment_embedder.rb
pages_core-3.15.3 lib/pages_core/attachment_embedder.rb
pages_core-3.15.2 lib/pages_core/attachment_embedder.rb
pages_core-3.15.1 lib/pages_core/attachment_embedder.rb
pages_core-3.14.0 lib/pages_core/attachment_embedder.rb
pages_core-3.13.0 lib/pages_core/attachment_embedder.rb
pages_core-3.12.7 lib/pages_core/attachment_embedder.rb
pages_core-3.12.6 lib/pages_core/attachment_embedder.rb
pages_core-3.12.5 lib/pages_core/attachment_embedder.rb
pages_core-3.12.4 lib/pages_core/attachment_embedder.rb
pages_core-3.12.3 lib/pages_core/attachment_embedder.rb
pages_core-3.12.2 lib/pages_core/attachment_embedder.rb
pages_core-3.12.1 lib/pages_core/attachment_embedder.rb
pages_core-3.12.0 lib/pages_core/attachment_embedder.rb
pages_core-3.11.3 lib/pages_core/attachment_embedder.rb
pages_core-3.11.2 lib/pages_core/attachment_embedder.rb
pages_core-3.11.1 lib/pages_core/attachment_embedder.rb
pages_core-3.11.0 lib/pages_core/attachment_embedder.rb
pages_core-3.10.2 lib/pages_core/attachment_embedder.rb