OSDN Git Service

temp
[pettanr/pettanr.git] / app / models / scroll.rb
index 0768000..a41342c 100644 (file)
@@ -8,6 +8,25 @@ class Scroll < ActiveRecord::Base
 
   before_validation :valid_encode
   
+  cattr_reader :singular, :plural
+  @@singular = 'Scroll'
+  @@plural = 'Scrolls'
+  def self.item_name
+    self.singular.underscore
+  end
+  
+  def item_name
+    self.class.item_name
+  end
+  
+  def self.path_name with_engine = false
+    self.plural.underscore
+  end
+  
+  def path_name 
+    self.class.path_name
+  end
+  
   def valid_encode
     ['title', 'description'].each do |a|
       next if attributes[a] == nil
@@ -19,9 +38,9 @@ class Scroll < ActiveRecord::Base
     self.visible = 0 if self.visible.blank?
   end
   
-  def overwrite au
-    return false unless au
-    self.author_id = au.id
+  def overwrite operators
+    return false unless operators.author
+    self.author_id = operators.author.id
   end
   
   def own? roles
@@ -31,13 +50,12 @@ class Scroll < ActiveRecord::Base
     self.author_id == au.id
   end
   
-  def visible? roles
+  def visible? operators
     if MagicNumber['run_mode'] == 0
-      return false unless guest_role_check(roles)
+      return false unless operators.guest?
     else
-      return false unless reader_role_check(roles)
+      return false unless operators.resource_reader?
     end
-    return true if self.own?(roles)
     self.visible > 0
   end
   
@@ -74,6 +92,10 @@ class Scroll < ActiveRecord::Base
     page_size
   end
   
+  def self.list_order
+    'scrolls.updated_at desc'
+  end
+  
   def self.list_where
     'scrolls.visible > 0'
   end
@@ -132,11 +154,11 @@ class Scroll < ActiveRecord::Base
     {:include => {:scroll_panels => {:include => {:panel => {}}}, :author => {}}}
   end
   
-  def self.show sid, roles
+  def self.show sid, operators
     opt = {}
     opt.merge!(Scroll.show_opt)
     res = Scroll.find(sid, opt)
-    raise ActiveRecord::Forbidden unless res.visible?(roles)
+    raise ActiveRecord::Forbidden unless res.visible?(operators)
     res
   end