Sha256: b2bfa708631d492e5b4e4f528108af5533da52bd3c6eebfbf51e24bb75cd8f35

Contents?: true

Size: 797 Bytes

Versions: 14

Compression:

Stored size: 797 Bytes

Contents

module Spina
  module Parts
    class Image < Base
      attr_json :image_id, :integer, default: nil
      attr_json :signed_blob_id, :string, default: nil
      attr_json :alt, :string, default: ""
      attr_json :filename, :string, default: ""

      attr_accessor :options

      def to_s
        alt.presence || filename.presence || Spina::Image.model_name.human
      end

      def content
        self
      end

      def svg?
        filename =~ /\.svg\z/
      end

      def spina_image
        Spina::Image.find_by(id: image_id)
      end

      def present?
        signed_blob_id.present?
      end
      
      def signed_id
        signed_blob_id
      end
      
      def variant(options)
        Spina::Parts::ImageVariant.new(self, options)
      end
      
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
spina-2.6.2 app/models/spina/parts/image.rb
spina-2.6.1 app/models/spina/parts/image.rb
spina-2.6.0 app/models/spina/parts/image.rb
spina-2.5.0 app/models/spina/parts/image.rb
spina-2.4.0 app/models/spina/parts/image.rb
spina-2.3.5 app/models/spina/parts/image.rb
spina-2.3.4 app/models/spina/parts/image.rb
spina-2.3.3 app/models/spina/parts/image.rb
spina-2.3.2 app/models/spina/parts/image.rb
spina-2.3.1 app/models/spina/parts/image.rb
spina-2.3.0 app/models/spina/parts/image.rb
spina-2.2.0 app/models/spina/parts/image.rb
spina-2.1.1 app/models/spina/parts/image.rb
spina-2.1.0 app/models/spina/parts/image.rb