Sha256: 7c91ac9f6e92200ccdc6cdd2183165519fe71a2a9846caaca195c6f7f71d3ad9

Contents?: true

Size: 922 Bytes

Versions: 13

Compression:

Stored size: 922 Bytes

Contents

module Locomotive
  class ContentAsset

    include Locomotive::Mongoid::Document

    ## extensions ##
    include Extensions::Asset::Types
    include Extensions::Asset::Vignette

    ## fields ##
    field :content_type,  type: String
    field :width,         type: Integer
    field :height,        type: Integer
    field :size,          type: Integer
    field :position,      type: Integer, default: 0

    ## associations ##
    belongs_to :site, class_name: 'Locomotive::Site'

    ## validations ##
    validates_presence_of :source

    ## behaviours ##
    mount_uploader :source, ContentAssetUploader, mount_on: :source_filename

    ## methods ##

    alias :name :source_filename

    def extname
      return nil unless self.source?
      File.extname(self.source_filename).gsub(/^\./, '')
    end

    def to_liquid
      { url: self.source.url }.merge(self.attributes).stringify_keys
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
locomotive_cms-2.4.1 app/models/locomotive/content_asset.rb
locomotive_cms-2.4.0 app/models/locomotive/content_asset.rb
locomotive_cms-2.3.1 app/models/locomotive/content_asset.rb
locomotive_cms-2.3.0 app/models/locomotive/content_asset.rb
locomotive_cms-2.2.3 app/models/locomotive/content_asset.rb
locomotive_cms-2.2.2 app/models/locomotive/content_asset.rb
locomotive_cms-2.2.1 app/models/locomotive/content_asset.rb
locomotive_cms-2.2.0 app/models/locomotive/content_asset.rb
locomotive_cms-2.1.4 app/models/locomotive/content_asset.rb
locomotive_cms-2.1.3 app/models/locomotive/content_asset.rb
locomotive_cms-2.1.2 app/models/locomotive/content_asset.rb
locomotive_cms-2.1.1 app/models/locomotive/content_asset.rb
locomotive_cms-2.1.0 app/models/locomotive/content_asset.rb