Class: PapermillAsset
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- PapermillAsset
- Defined in:
- lib/papermill/papermill_asset.rb
Class Method Summary collapse
Instance Method Summary collapse
- #basename ⇒ Object
- #content_type ⇒ Object
- #create_thumb_file(style_name) ⇒ Object
- #extension ⇒ Object
- #Filedata=(data) ⇒ Object
- #Filename=(name) ⇒ Object
- #height ⇒ Object
- #id_partition ⇒ Object
- #image? ⇒ Boolean
- #name ⇒ Object
- #path(style = nil) ⇒ Object
- #save(*params) ⇒ Object
- #size ⇒ Object
- #url(style = nil) ⇒ Object
- #width ⇒ Object
Class Method Details
.cleanup ⇒ Object
88 89 90 |
# File 'lib/papermill/papermill_asset.rb', line 88 def self.cleanup self.all(:conditions => ["id < 0 AND created_at < ?", DateTime.now.yesterday]).each &:destroy end |
Instance Method Details
#basename ⇒ Object
39 40 41 |
# File 'lib/papermill/papermill_asset.rb', line 39 def basename name.gsub(/#{extension}$/, "").strip end |
#content_type ⇒ Object
67 68 69 |
# File 'lib/papermill/papermill_asset.rb', line 67 def content_type file_content_type end |
#create_thumb_file(style_name) ⇒ Object
26 27 28 29 |
# File 'lib/papermill/papermill_asset.rb', line 26 def create_thumb_file(style_name) FileUtils.mkdir_p File.dirname(file.path(style_name)) FileUtils.mv(Paperclip::Thumbnail.make(file, self.class.compute_style(style_name)).path, file.path(style_name)) end |
#extension ⇒ Object
43 44 45 |
# File 'lib/papermill/papermill_asset.rb', line 43 def extension File.extname(name) end |
#Filedata=(data) ⇒ Object
17 18 19 20 |
# File 'lib/papermill/papermill_asset.rb', line 17 def Filedata=(data) data.content_type = data.get_content_type # SWFUpload content-type fix self.file = data end |
#Filename=(name) ⇒ Object
22 23 24 |
# File 'lib/papermill/papermill_asset.rb', line 22 def Filename=(name) @real_file_name = name end |
#height ⇒ Object
51 52 53 |
# File 'lib/papermill/papermill_asset.rb', line 51 def height Paperclip::Geometry.from_file(file).height end |
#id_partition ⇒ Object
31 32 33 |
# File 'lib/papermill/papermill_asset.rb', line 31 def id_partition ("%09d" % self.id).scan(/\d{3}/).join("/") end |
#image? ⇒ Boolean
71 72 73 |
# File 'lib/papermill/papermill_asset.rb', line 71 def image? content_type.split("/")[0] == "image" end |
#name ⇒ Object
35 36 37 |
# File 'lib/papermill/papermill_asset.rb', line 35 def name file_file_name end |
#path(style = nil) ⇒ Object
63 64 65 |
# File 'lib/papermill/papermill_asset.rb', line 63 def path(style = nil) file.path(style) end |
#save(*params) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/papermill/papermill_asset.rb', line 75 def save(*params) if super(*params) if params.last.is_a?(Hash) && params.last[:unique] && assetable_key PapermillAsset.find(:all, :conditions => {:assetable_id => assetable_id, :assetable_type => assetable_type, :assetable_key => assetable_key }).each do |asset| asset.destroy unless asset == self end end true else false end end |
#size ⇒ Object
55 56 57 |
# File 'lib/papermill/papermill_asset.rb', line 55 def size file_file_size end |
#url(style = nil) ⇒ Object
59 60 61 |
# File 'lib/papermill/papermill_asset.rb', line 59 def url(style = nil) file.url(style && CGI::escape(style.to_s)) end |
#width ⇒ Object
47 48 49 |
# File 'lib/papermill/papermill_asset.rb', line 47 def width Paperclip::Geometry.from_file(file).width end |