Class: Image
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Image
- Defined in:
- vendor/plugins/images/app/models/image.rb
Constant Summary collapse
- MAX_SIZE_IN_MB =
What is the max image size a user can upload
20
- PAGES_PER_DIALOG =
when a dialog pops up with images, how many images per page should there be
18
- PAGES_PER_ADMIN_INDEX =
when listing images out in the admin area, how many images should show per page
20
Class Method Summary collapse
-
.per_page(dialog = false) ⇒ Object
How many images per page should be displayed?.
Instance Method Summary collapse
-
#title ⇒ Object
Returns a titleized version of the filename my_file.jpg returns My File.
-
#validate ⇒ Object
we could use validates_as_attachment but it produces 4 odd errors like “size is not in list”.
Class Method Details
.per_page(dialog = false) ⇒ Object
How many images per page should be displayed?
47 48 49 |
# File 'vendor/plugins/images/app/models/image.rb', line 47 def self.per_page(dialog = false) dialog ? PAGES_PER_DIALOG : PAGES_PER_ADMIN_INDEX end |
Instance Method Details
#title ⇒ Object
Returns a titleized version of the filename my_file.jpg returns My File
53 54 55 |
# File 'vendor/plugins/images/app/models/image.rb', line 53 def title CGI::unescape(self.filename).gsub(/\.\w+$/, '').titleize end |
#validate ⇒ Object
we could use validates_as_attachment but it produces 4 odd errors like “size is not in list”. So we basically here enforce the same validation rules here except display the error messages we want This is a known problem when using attachment_fu
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'vendor/plugins/images/app/models/image.rb', line 18 def validate if self.filename.nil? errors.add_to_base("You must choose an image to upload") else [:size, :content_type].each do |attr_name| enum = [attr_name] unless enum.nil? || enum.include?(send(attr_name)) errors.add_to_base("Images should be smaller than #{MAX_SIZE_IN_MB} MB in size") if attr_name == :size errors.add_to_base("Your image must be either a JPG, PNG or GIF") if attr_name == :content_type end end end end |