OSDN Git Service

play panel_elements
[pettanr/pettanr.git] / app / models / panel.rb
index 888d7b5..c383e1a 100644 (file)
@@ -52,4 +52,37 @@ class Panel < ActiveRecord::Base
     self.author_id == author.id
   end
   
+  def sort_by_time
+    pe = []
+    self.panel_pictures.each do |picture|
+      pe[picture.t] = picture
+    end
+    self.balloons.each do |balloon|
+      pe[balloon.t] = balloon
+    end
+    pe
+  end
+  
+  def each_element
+    self.sort_by_time.each do |e|
+      yield e
+    end
+  end
+  
+  def panel_elements
+    res = []
+    self.each_element do |elm|
+      if elm.kind_of?(PanelPicture)
+        res[elm.t] = elm.to_json({:include => :resource_picture})
+      end
+      if elm.kind_of?(Balloon)
+        res[elm.t] = elm.to_json({:include => :speaches})
+      end
+    end
+    res
+  end
+  
+  def to_json_play
+    self.to_json :methods => :panel_elements
+  end
 end