Sha256: 01934b732d7cabc365b5223777e8bb14505c754638968d45871bee49204b3b5e

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

class SpudBanner < ActiveRecord::Base
  attr_accessible :banner, :link_to, :link_target, :title, :alt, :sort_order
  belongs_to :owner, :class_name => 'SpudBannerSet', :foreign_key => 'spud_banner_set_id', :inverse_of => :banners

  has_attached_file :banner, 
    :styles => lambda { |attachment| attachment.instance.dynamic_styles },
    :convert_options => {
      :admin_small => '-strip -density 72x72',
      :banner => '-strip -density 72x72'
    },
    :storage => Spud::Banners.paperclip_storage,
    :s3_credentials => Spud::Banners.s3_credentials,
    :s3_host_name => Spud::Banners.s3_host_name,
    :url => Spud::Banners.storage_url,
    :path => Spud::Banners.storage_path

  validates_attachment_presence :banner

  def dynamic_styles
    styles = {
      :spud_admin_small => '300x150'
    }
    owner_style = nil
    if self.owner
      owner_style = "#{self.owner.width}x#{self.owner.height}"
      owner_style += '#' if self.owner.cropped
      styles[:banner] = owner_style
    end
    return styles
  end

  def set_name
    return owner.name
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
spud_banners-0.9.3 app/models/spud_banner.rb
spud_banners-0.9.2 app/models/spud_banner.rb