Sha256: 1e78295cbb1ffacb0190080c8644e3e9bd910362d0043e7842bb8bbd859500b9

Contents?: true

Size: 985 Bytes

Versions: 7

Compression:

Stored size: 985 Bytes

Contents

=begin rdoc
Author::    Chris Hauboldt (mailto:biz@lnstar.com)
Copyright:: 2009 Lone Star Internet Inc.

Wrapper for attachment_fu files plugin, and is used by NewsletterPieces to save assets.

=end

module Newsletter
  class Asset < ActiveRecord::Base
    self.table_name =  "#{::Newsletter.table_prefix}assets"
    belongs_to :field, :conditions => {:type => 'Newsletter::Field::InlineAsset'}, 
      :class_name => 'Newsletter::Field::InlineAsset'
    belongs_to :piece, :class_name => 'Newsletter::Piece'
    
    mount_uploader :image, AssetUploader
      
    attr_protected :id

    scope :by_piece, lambda{|piece| where("piece_id IS NOT NULL AND piece_id=?", piece.try(:id)) }

    def public_filename
      return File.join(::Newsletter::Asset.build_public_dirname(id),File.basename(self[:image])) if self[:image].present?
      nil
    end

    def self.build_public_dirname(id)
      "#{::Newsletter.asset_path}/#{("%08d" %id)[-8,4]}/#{("%08d" %id)[-4,4]}"
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
newsletter-3.0.2 app/models/newsletter/asset.rb
newsletter-3.0.1 app/models/newsletter/asset.rb
newsletter-3.0.0 app/models/newsletter/asset.rb
newsletter-0.1.2 app/models/newsletter/asset.rb
newsletter-0.1.1 app/models/newsletter/asset.rb
newsletter-0.1.0 app/models/newsletter/asset.rb
newsletter-0.0.1 app/models/newsletter/asset.rb