class ActiveAdminAddons::AttachmentBuilder
Constants
- KNOWN_EXTENSIONS
Public Instance Methods
build_label()
click to toggle source
# File lib/activeadmin_addons/addons/attachment_builder.rb, line 23 def build_label icon = icon_for_filename(file.original_filename) style = { width: "20", height: "20", style: "margin-right: 5px; vertical-align: middle;" } icon_img = context.image_tag(icon, style) text = label_text context.content_tag(:span) do context.concat(icon_img) context.safe_concat(text) end end
file()
click to toggle source
# File lib/activeadmin_addons/addons/attachment_builder.rb, line 54 def file model.send(attribute) end
for_ext(file_extension)
click to toggle source
# File lib/activeadmin_addons/addons/attachment_builder.rb, line 16 def for_ext(file_extension) ext = file_extension.start_with?(".") ? file_extension[1..-1] : file_extension ext.downcase! ext = "unknown" unless KNOWN_EXTENSIONS.include?(ext) "fileicons/file_extension_#{ext}.png" end
icon_for_filename(filename)
click to toggle source
# File lib/activeadmin_addons/addons/attachment_builder.rb, line 12 def icon_for_filename(filename) for_ext File.extname(filename.to_s) end
label_text()
click to toggle source
# File lib/activeadmin_addons/addons/attachment_builder.rb, line 35 def label_text label = if options[:label].nil? file.original_filename elsif options[:label].is_a? Proc options[:label].call(model).to_s else options[:label].to_s end options[:truncate] ? context.truncate(label) : label end
render()
click to toggle source
# File lib/activeadmin_addons/addons/attachment_builder.rb, line 47 def render raise "you need to pass a paperclip attribute" unless file.respond_to?(:url) options[:truncate] = options.fetch(:truncate, true) return nil unless file.file? context.link_to(build_label, file.url, target: "_blank", class: "attachment-link") end