Sha256: 0e35290388e2eef2f5da97441fbf162d0381ad388680e70044199f104bbf4b69

Contents?: true

Size: 806 Bytes

Versions: 53

Compression:

Stored size: 806 Bytes

Contents

module Para
  module AttributeField
    class ImageField < AttributeField::Base
      include ActionView::Helpers::AssetTagHelper

      register :image, self

      def value_for(instance)
        style = attachment_thumb_style_for(instance)

        if instance.send(:"#{ name }?")
          image_tag(instance.send(name).url(style))
        end
      end

      def excerptable_value?
        false
      end

      private

      def attachment_thumb_style_for(instance)
        styles = instance.send(name).styles.map(&:first)
        # Check if there's a :thumb or :thumbnail style in attachment definition
        thumb = styles.find { |s| %w(thumb thumbnail).include?(s.to_s) }
        # Return the potentially smallest size !
        thumb || styles.first || :original
      end
    end
  end
end

Version data entries

53 entries across 53 versions & 1 rubygems

Version Path
para-0.12.5 lib/para/attribute_field/image.rb
para-0.12.4 lib/para/attribute_field/image.rb
para-0.12.3 lib/para/attribute_field/image.rb
para-0.12.2 lib/para/attribute_field/image.rb
para-0.12.1 lib/para/attribute_field/image.rb
para-0.12.0 lib/para/attribute_field/image.rb
para-0.11.4 lib/para/attribute_field/image.rb
para-0.11.3 lib/para/attribute_field/image.rb
para-0.11.2 lib/para/attribute_field/image.rb
para-0.11.1 lib/para/attribute_field/image.rb
para-0.11.0 lib/para/attribute_field/image.rb
para-0.10.0 lib/para/attribute_field/image.rb
para-0.9.4 lib/para/attribute_field/image.rb
para-0.9.3.3 lib/para/attribute_field/image.rb
para-0.9.3.2 lib/para/attribute_field/image.rb
para-0.9.3.1 lib/para/attribute_field/image.rb
para-0.9.2 lib/para/attribute_field/image.rb
para-0.9.0 lib/para/attribute_field/image.rb
para-0.8.15 lib/para/attribute_field/image.rb
para-0.8.14 lib/para/attribute_field/image.rb