+#実素材
class Picture < ActiveRecord::Base
belongs_to :original_picture
belongs_to :license
validates :original_picture_id, :presence => true, :numericality => true, :existence => true
validates :revision, :presence => true, :numericality => true
- validates :ext, :presence => true, :length => {:maximum => 4}, :inclusion => {:in => ['png', 'jpeg', 'gif']}\r
+ validates :ext, :presence => true, :length => {:maximum => 4}, :inclusion => {:in => ['png', 'jpeg', 'gif']}
validates :width, :presence => true, :numericality => true, :natural_number => true
validates :height, :presence => true, :numericality => true, :natural_number => true
validates :filesize, :presence => true, :numericality => {:greater_than => 0, :less_than_or_equal_to => 2000000}, :natural_number => true
validates :license_id, :presence => true, :numericality => true, :existence => true
validates :artist_id, :presence => true, :numericality => true, :existence => true
validates :artist_name, :presence => true
+ validates :classname, :presence => true, :length => {:maximum => 50}
def dext
self.ext.downcase
def copy_data(rp)
attr = {:width => rp.width, :height => rp.height, :ext => rp.ext, :filesize => rp.filesize,
:original_picture_id => rp.original_picture_id, :license_id => rp.license_id, :artist_id => rp.artist_id,
- :artist_name => rp.artist_name, :credit => rp.credit, :settings => rp.settings
+ :artist_name => rp.artist_name, :classname => rp.classname, :credit => rp.credit, :settings => rp.settings
}
self.attributes = attr
end
PictureIO.resource_picture_io.get self.filename, subdir
end
+ def credit_template
+ "#{self.classname.tableize}/credit"
+ end
+
+ def credit_data
+ begin
+ @credit_data = JSON.parse(self.credit) unless @credit_data
+ rescue
+ end
+ @credit_data
+ end
+
def flags
begin
@flags = JSON.parse(self.settings) unless @flags