speech_balloon: {\r
type: 'element',\r
args: {\r
- parent_model_name: 'speech_balloon',\r
+ parent_model_name: 'panel',\r
},\r
}, \r
balloon: {\r
speech: {\r
type: 'element',\r
args: {\r
- parent_model_name: 'scroll',\r
+ parent_model_name: 'speech_balloon',\r
},\r
},\r
ground_picture: {\r
by_author: {\r
type: 'foreign_filter',\r
args: {\r
- tree_name: 'scroll_owner',\r
+ includes: {\r
+ type: 'method',\r
+ },\r
},\r
},\r
},\r
by_author: {\r
type: 'foreign_filter',\r
args: {\r
- tree_name: 'comic_owner',\r
+ includes: {\r
+ type: 'method',\r
+ },\r
},\r
},\r
play: {\r
by_author: {\r
type: 'foreign_filter',\r
args: {\r
- tree_name: 'comic_owner',\r
+ includes: {\r
+ type: 'method',\r
+ },\r
},\r
},\r
},\r
by_author: {\r
type: 'foreign_filter',\r
args: {\r
- tree_name: 'sheet_owner',\r
+ includes: {\r
+ type: 'method',\r
+ },\r
},\r
},\r
},\r
by_author: {\r
type: 'foreign_filter',\r
args: {\r
- tree_name: 'panel_owner',\r
+ includes: {\r
+ type: 'method',\r
+ },\r
},\r
},\r
},\r
by_author: {\r
type: 'foreign_filter',\r
args: {\r
- tree_name: 'panel_owner',\r
+ includes: {\r
+ type: 'method',\r
+ },\r
},\r
},\r
},\r
by_author: {\r
type: 'foreign_filter',\r
args: {\r
- tree_name: 'panel_owner',\r
+ includes: {\r
+ type: 'method',\r
+ },\r
},\r
},\r
},\r
by_author: {\r
type: 'foreign_filter',\r
args: {\r
- tree_name: 'panel_owner',\r
+ includes: {\r
+ type: 'method',\r
+ },\r
},\r
},\r
},\r
by_author: {\r
type: 'foreign_filter',\r
args: {\r
- tree_name: 'panel_owner',\r
+ includes: {\r
+ type: 'method',\r
+ },\r
},\r
},\r
},\r
by_author: {\r
type: 'foreign_filter',\r
args: {\r
- tree_name: 'panel_owner',\r
+ includes: {\r
+ type: 'method',\r
+ },\r
},\r
},\r
},\r
'balloons.updated_at desc'
end
+ def self.by_author_list_includes
+ {
+ :speech_balloon => {
+ :panel => {
+ :author => {}
+ }
+ }
+ }
+ end
+
def self.list_opt
{:speech_balloon => {:panel => {:author => {}}, :speech => {}, :speech_balloon_template => {} }}
end
validates :z, :presence => true, :numericality => {:greater_than => 0}
validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
+ def self.by_author_list_includes
+ {
+ :panel => {
+ :author => {}
+ }
+ }
+ end
+
def self.list_opt_for_panel
{
:ground_colors => {
@@repeat_texts = ['repeat', 'repeat-x', 'repeat-y', 'no-repeat']
+ def self.by_author_list_includes
+ {
+ :panel => {
+ :author => {}
+ }
+ }
+ end
+
def self.list_opt_for_panel
{
:ground_pictures => {
validates :z, :presence => true, :numericality => {:greater_than => 0}
validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
+ def self.by_author_list_includes
+ {
+ :panel => {
+ :author => {}
+ }
+ }
+ end
+
def self.list_opt_for_panel
{
:panel_pictures => {
'scrolls.visible > 0'
end
+ def self.by_author_list_includes
+ {
+ :scroll => {
+ :author => {}
+ }
+ }
+ end
+
def self.play_list_where cid
['scroll_panels.scroll_id = ?', cid]
end
SheetPanel.where(self.play_list_where(sheet.id)).includes(SheetPanel.list_opt).order('sheet_panels.t')
end
+ def self.by_author_list_includes
+ {
+ :sheet => {
+ :author => {}
+ }
+ }
+ end
+
def self.list_opt
{
:author => {},
'speeches.updated_at desc'
end
+ def self.by_author_list_includes
+ {
+ :speech_balloon => {
+ :panel => {
+ :author => {}
+ }
+ }
+ }
+ end
+
def self.list_opt
{:speech_balloon => {:panel => {:author => {}}, :balloon => {}, :speech_balloon_template => {}} }
end
validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
validates :settings, :extend_speech_balloon => true
+ def self.by_author_list_includes
+ {
+ :panel => {
+ :author => {}
+ }
+ }
+ end
+
def self.list_opt_for_panel
{
:speech_balloons => {:balloon => {}, :speech => {}}
{:comic => {:author => {}} }
end
+ def self.by_author_list_includes
+ {
+ :comic => {
+ :author => {}
+ }
+ }
+ end
+
def self.list_json_opt
{:include => {:comic => {:include => {:author => {}}} }}
end
Kaminari.paginate_array(Array.new(StorySheet.where(self.play_sheet_where(story.id)).includes(StorySheet.list_opt).count, nil)).page(page).per(1)
end
+ def self.by_author_list_includes
+ {
+ :story => {
+ :comic => {
+ :author => {}
+ }
+ }
+ }
+ end
+
def self.list_opt
{
:author => {},
end
def parent_includes parent_model
- p parent_model.item_name
if parent_model.parent_model
- p ({parent_model.item_name => parent_includes(parent_model.parent_model)})
{parent_model.item_name => parent_includes(parent_model.parent_model)}
else
{parent_model.item_name => {}}
end
def includes
- p self.model.item_name
if self.model.parent_model
self.parent_includes self.model.parent_model
else
end
def include_hash
- @model_manifest.tree[@tree_name].include_hash
+ # no call super
+ # foreign_filter includes manifest must configure type: 'method'
+ # super
+ @includes.includes
end
end
if @parent.classify.my_peta.type == 'leaf'
next unless belongs_to_manifest.model.my_peta.type == 'binder'
end
- p [@parent.classify , belongs_to_manifest.model]
yield belongs_to_manifest.model
end
end
# Dynamic Methods
- def self._leaf_tree_name
- self.my_peta.leaf_tree_name
- end
-
def self.load_manifest
super
# Class Methods
- n = self._leaf_tree_name
- define_singleton_method("leaf_tree_name") do
- n
- end
# Instance Methods
define_method("leaf_items") do |leaf_model|
self.__send__ self.class.my_manifest.associations.child_element_name(leaf_model)
def self.load_manifest
super
# Class Methods
- self.my_manifest.associations.each_parent_model do |parent_model|
- define_singleton_method("parent_model") do
- parent_model
- end
+ pm = Manifest.manifest.models[self.my_peta.parent_model_name].classify
+ define_singleton_method("parent_model") do
+ pm
end
# Instance Methods
end
# Dynamic Methods
- def self._element_tree_name
- self.my_peta.element_tree_name
- end
-
def self.load_manifest
super
# Class Methods
- n = self._element_tree_name
- define_singleton_method("element_tree_name") do
- n
- end
- c = self.child_models(self.element_tree_name)
- define_singleton_method("element_models") do
- c
- end
# Instance Methods
define_method("element_items") do |element_model|
self.__send__ self.class.my_manifest.associations.child_element_name(element_model)
def self.load_manifest
super
# Class Methods
- self.my_manifest.associations.each_parent_model do |parent_model|
- define_singleton_method("parent_model") do
- parent_model
- end
+ pm = Manifest.manifest.models[self.my_peta.parent_model_name].classify
+ define_singleton_method("parent_model") do
+ pm
end
# Instance Methods
end
"by_author": {\r
"type": "foreign_filter",\r
"args": {\r
- "tree_name": "scroll_owner"\r
+ "includes": {\r
+ "type": "method"\r
+ }\r
}\r
}\r
}\r
"by_author": {\r
"type": "foreign_filter",\r
"args": {\r
- "tree_name": "comic_owner"\r
+ "includes": {\r
+ "type": "method"\r
+ }\r
}\r
},\r
"play": {\r
"by_author": {\r
"type": "foreign_filter",\r
"args": {\r
- "tree_name": "comic_owner"\r
+ "includes": {\r
+ "type": "method"\r
+ }\r
}\r
}\r
}\r
"by_author": {\r
"type": "foreign_filter",\r
"args": {\r
- "tree_name": "sheet_owner"\r
+ "includes": {\r
+ "type": "method"\r
+ }\r
}\r
}\r
}\r
"by_author": {\r
"type": "foreign_filter",\r
"args": {\r
- "tree_name": "panel_owner"\r
+ "includes": {\r
+ "type": "method"\r
+ }\r
}\r
}\r
}\r
"by_author": {\r
"type": "foreign_filter",\r
"args": {\r
- "tree_name": "panel_owner"\r
+ "includes": {\r
+ "type": "method"\r
+ }\r
}\r
}\r
}\r
"by_author": {\r
"type": "foreign_filter",\r
"args": {\r
- "tree_name": "panel_owner"\r
+ "includes": {\r
+ "type": "method"\r
+ }\r
}\r
}\r
}\r
"by_author": {\r
"type": "foreign_filter",\r
"args": {\r
- "tree_name": "panel_owner"\r
+ "includes": {\r
+ "type": "method"\r
+ }\r
}\r
}\r
}\r
"by_author": {\r
"type": "foreign_filter",\r
"args": {\r
- "tree_name": "panel_owner"\r
+ "includes": {\r
+ "type": "method"\r
+ }\r
}\r
}\r
}\r
"by_author": {\r
"type": "foreign_filter",\r
"args": {\r
- "tree_name": "panel_owner"\r
+ "includes": {\r
+ "type": "method"\r
+ }\r
}\r
}\r
}\r
"speech_balloon": {\r
"type": "element",\r
"args": {\r
- "parent_model_name": "speech_balloon"\r
+ "parent_model_name": "panel"\r
}\r
},\r
"balloon": {\r
"speech": {\r
"type": "element",\r
"args": {\r
- "parent_model_name": "scroll"\r
+ "parent_model_name": "speech_balloon"\r
}\r
},\r
"ground_picture": {\r