OSDN Git Service

build pictures
[pettanr/pettanr.git] / app / models / picture.rb
index 214b1c8..ed212f4 100644 (file)
@@ -1,3 +1,4 @@
+#実素材
 class Picture < ActiveRecord::Base
   belongs_to :original_picture
   belongs_to :license
@@ -6,13 +7,14 @@ class Picture < ActiveRecord::Base
   
   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
@@ -65,7 +67,7 @@ class Picture < ActiveRecord::Base
   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
@@ -101,6 +103,18 @@ class Picture < ActiveRecord::Base
     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