Sha256: 32b847eebeb7f37a652c6a108ab7441d1b7a602ff6e43d66388d8501c97e20ea

Contents?: true

Size: 1.38 KB

Versions: 28

Compression:

Stored size: 1.38 KB

Contents

class Image < ActiveRecord::Base
  
  has_many :pages

  has_attachment :content_type => :image, 
                 :storage => :file_system,
                 :path_prefix => 'public/system/images',
                 :processor => 'Rmagick', 
                 :thumbnails => ((((thumbnails = RefinerySetting.find_or_set(:image_thumbnails, {})).is_a?(Hash) ? thumbnails : (RefinerySetting[:image_thumbnails] = {}))) rescue {}),
                 :max_size => 5.megabytes

  acts_as_indexed :fields => [:title]

  def validate
   errors.add_to_base("You must choose a file to upload") unless self.filename

   unless self.filename.nil?
     [:size].each do |attr_name|
       enum = attachment_options[attr_name]
       
       errors.add_to_base("Files should be smaller than 50 MB in size") unless enum.nil? || enum.include?(send(attr_name))
     end
   end

  end
  
  def title
    self.filename.gsub(/\.\w+$/, '').titleize
  end
  
  def self.per_page(dialog = false)
    size = (dialog ? 18 : 20)
  end
  
  def self.last_page(images, dialog=false)
    page = unless images.size <= self.per_page(dialog)
      (images.size / self.per_page(dialog).to_f).ceil
    else
      nil # this must be nil, it can't be 0 as there apparently isn't a 0th page.
    end
  end
  
  def self.thumbnails
    find(:all, :conditions => "parent_id not null")
  end
  
  def self.originals
    find_all_by_parent_id(nil)
  end
  
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
refinerycms-0.9.5.13 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.12 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.11 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.10 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.9 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.8 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.7 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.6 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.5 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.4 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.3 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.2 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5.1 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.5 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.4.5 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.4.4 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.4.3 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.4.2 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.4.1 vendor/plugins/images/app/models/image.rb
refinerycms-0.9.4 vendor/plugins/images/app/models/image.rb