'id',\r
'panel_id',\r
'speech_balloon_template_id',\r
- 'speech_balloon_template_classname',\r
+ 'speech_balloon_template_module_name',\r
'z',\r
't',\r
'speech_balloon_template_settings',\r
'balloon.speech_balloon_id',\r
'balloon.system_picture_id',\r
'balloon.speech_balloon_template_id',\r
- 'balloon.speech_balloon_template_classname',\r
+ 'balloon.speech_balloon_template_module_name',\r
'balloon.speech_balloon_template_settings',\r
'speech.writing_format_id',\r
'speech.font_size',\r
'speech.width',\r
'speech.height',\r
'speech.speech_balloon_template_id',\r
- 'speech.speech_balloon_template_classname',\r
+ 'speech.speech_balloon_template_module_name',\r
'speech.speech_balloon_template_settings',\r
- 'speech.writing_format_classname',\r
+ 'speech.writing_format_module_name',\r
'speech.writing_format_settings',\r
]\r
},\r
type: 'hidden',\r
},\r
},\r
- speech_balloon_template_classname: {\r
+ speech_balloon_template_module_name: {\r
label: {\r
type: 'none',\r
},\r
'id',\r
'panel_id',\r
'speech_balloon_template_id',\r
- 'speech_balloon_template_classname',\r
+ 'speech_balloon_template_module_name',\r
'z',\r
't',\r
'speech_balloon_template_settings',\r
},\r
row_break: true,\r
},\r
- speech_balloon_template_classname: {\r
+ speech_balloon_template_module_name: {\r
label: {\r
type: 'none',\r
},\r
'speech_balloon_id',\r
'system_picture_id',\r
'speech_balloon_template_id',\r
- 'speech_balloon_template_classname',\r
+ 'speech_balloon_template_module_name',\r
'speech_balloon_template_settings',\r
],\r
},\r
},\r
},\r
},\r
- speech_balloon_template_classname: {\r
+ speech_balloon_template_module_name: {\r
label: {\r
type: 'none',\r
},\r
type: 'hidden',\r
},\r
},\r
- writing_format_classname: {\r
+ writing_format_module_name: {\r
label: {\r
type: 'none',\r
},\r
'width',\r
'height',\r
'speech_balloon_template_id',\r
- 'speech_balloon_template_classname',\r
+ 'speech_balloon_template_module_name',\r
'speech_balloon_template_settings',\r
- 'writing_format_classname',\r
+ 'writing_format_module_name',\r
'writing_format_settings',\r
],\r
},\r
},\r
row_break: true,\r
},\r
- classname: {\r
+ module_name: {\r
tag: {\r
type: 'text',\r
},\r
field_names: [\r
'id',\r
'name',\r
- 'classname',\r
+ 'module_name',\r
'caption',\r
't',\r
'system_picture_id',\r
},\r
row_break: true,\r
},\r
- classname: {\r
+ module_name: {\r
tag: {\r
type: 'text',\r
},\r
field_names: [\r
'id',\r
'name',\r
- 'classname',\r
+ 'module_name',\r
'caption',\r
'system_picture_id',\r
'settings',\r
},\r
row_break: true,\r
},\r
- classname: {\r
+ module_name: {\r
tag: {\r
type: 'text',\r
},\r
field_names: [\r
'id',\r
'name',\r
- 'classname',\r
+ 'module_name',\r
'caption',\r
'url',\r
]\r
type: 'hidden',\r
},\r
},\r
- license_group_classname: {\r
+ license_group_module_name: {\r
tag: {\r
type: 'text',\r
},\r
field_names: [\r
'id',\r
'license_group_id',\r
- 'license_group_classname',\r
+ 'license_group_module_name',\r
'name',\r
'caption',\r
'system_picture_id',\r
parent_model_name: 'panel',\r
boost: {\r
speech_balloon_template: {\r
- resource_name: 'speech_balloon_template',\r
- engine_resource_name: 'speech_balloon_templates',\r
- engine_resource_extend_column_name: 'speech_balloon_template_classname',\r
- extend_column_name: 'speech_balloon_template_classname',\r
- settings_column_name: 'speech_balloon_template_settings',\r
extend_model_class_name: 'SpeechBalloon',\r
- extend_item_name: 'speech_balloon',\r
+ item_name_for_extend_model: 'speech_balloon',\r
},\r
},\r
},\r
parent_model_name: 'speech_balloon',\r
boost: {\r
speech_balloon_template: {\r
- resource_name: 'speech_balloon_template',\r
- engine_resource_name: 'speech_balloon_templates',\r
- engine_resource_extend_column_name: 'speech_balloon_template_classname',\r
- extend_column_name: 'speech_balloon_template_classname',\r
- settings_column_name: 'speech_balloon_template_settings',\r
extend_model_class_name: 'Balloon',\r
- extend_item_name: 'balloon',\r
+ item_name_for_extend_model: 'balloon',\r
},\r
},\r
},\r
writing_format: {\r
},\r
speech_balloon_template: {\r
- resource_name: 'speech_balloon_template',\r
- engine_resource_name: 'speech_balloon_templates',\r
- engine_resource_extend_column_name: 'speech_balloon_template_classname',\r
- extend_column_name: 'speech_balloon_template_classname',\r
- settings_column_name: 'speech_balloon_template_settings',\r
extend_model_class_name: 'Speech',\r
- extend_item_name: 'speech',\r
+ item_name_for_extend_model: 'speech',\r
},\r
},\r
},\r
boost: {\r
# expand license_group_settings\r
license_group: {\r
- resource_name: 'license_group',\r
- engine_resource_name: 'license_groups',\r
- engine_resource_extend_column_name: 'license_group_classname',\r
- extend_column_name: 'license_group_classname',\r
- settings_column_name: 'license_group_settings',\r
extend_model_class_name: 'License',\r
- extend_item_name: 'license',\r
+ item_name_for_extend_model: 'license',\r
},\r
# expand license_settings\r
license: {\r
level: 'read',\r
- resource_name: 'license_group',\r
- engine_resource_name: 'license_groups',\r
- engine_resource_extend_column_name: 'license_group_classname',\r
- extend_column_name: 'license_group_classname',\r
- settings_column_name: 'license_settings',\r
+ template_name: 'license_group',\r
extend_model_class_name: 'Attribute',\r
- extend_item_name: 'attribute',\r
+ item_name_for_extend_model: 'attribute',\r
},\r
credit_picture: {\r
level: 'read',\r
- resource_name: 'license_group',\r
- engine_resource_name: 'license_groups',\r
- engine_resource_extend_column_name: 'license_group_classname',\r
- extend_column_name: 'license_group_classname',\r
- settings_column_name: 'credit_picture_settings',\r
+ template_name: 'license_group',\r
extend_model_class_name: 'CreditPicture',\r
- extend_item_name: 'credit_picture',\r
+ item_name_for_extend_model: 'credit_picture',\r
},\r
},\r
},\r
boost: {\r
# expand license_group_settings\r
license_group: {\r
- resource_name: 'license_group',\r
- engine_resource_name: 'license_groups',\r
- engine_resource_extend_column_name: 'license_group_classname',\r
- extend_column_name: 'license_group_classname',\r
- settings_column_name: 'license_group_settings',\r
extend_model_class_name: 'License',\r
- extend_item_name: 'license',\r
+ item_name_for_extend_model: 'license',\r
},\r
# expand license_settings\r
license: {\r
level: 'read',\r
- resource_name: 'license_group',\r
- engine_resource_name: 'license_groups',\r
- engine_resource_extend_column_name: 'license_group_classname',\r
- extend_column_name: 'license_group_classname',\r
- settings_column_name: 'license_settings',\r
+ template_name: 'license_group',\r
extend_model_class_name: 'Attribute',\r
- extend_item_name: 'attribute',\r
+ item_name_for_extend_model: 'attribute',\r
},\r
credit_picture: {\r
level: 'read',\r
- resource_name: 'license_group',\r
- engine_resource_name: 'license_groups',\r
- engine_resource_extend_column_name: 'license_group_classname',\r
- extend_column_name: 'license_group_classname',\r
- settings_column_name: 'credit_picture_settings',\r
+ template_name: 'license_group',\r
extend_model_class_name: 'CreditPicture',\r
- extend_item_name: 'credit_picture',\r
+ item_name_for_extend_model: 'credit_picture',\r
},\r
},\r
},\r
parent_model_name: 'license_group',\r
boost: {\r
license_group: {\r
+ extend_model_class_name: 'License',\r
+ item_name_for_extend_model: 'license',\r
},\r
credit_picture: {\r
level: 'read',\r
- resource_name: 'license_group',\r
- settings_column_name: 'credit_picture_settings',\r
+ template_name: 'license_group',\r
extend_model_class_name: 'CreditPicture',\r
- extend_item_name: 'credit_picture',\r
- extend_column_name: 'license_group_classname',\r
+ item_name_for_extend_model: 'credit_picture',\r
},\r
},\r
},\r
number: true,\r
}\r
},\r
- speech_balloon_template_classname: {\r
+ speech_balloon_template_module_name: {\r
type: 'text',\r
rules : {\r
required: true,\r
number: true,\r
}\r
},\r
- speech_balloon_template_classname: {\r
+ speech_balloon_template_module_name: {\r
type: 'text',\r
rules : {\r
required: true,\r
number: true,\r
}\r
},\r
- speech_balloon_template_classname: {\r
+ speech_balloon_template_module_name: {\r
type: 'text',\r
rules : {\r
required: true,\r
number: true,\r
}\r
},\r
- writing_format_classname: {\r
+ writing_format_module_name: {\r
type: 'text',\r
rules : {\r
required: true,\r
rules : {\r
}\r
},\r
- license_group_classname: {\r
+ license_group_module_name: {\r
type: 'text',\r
rules : {\r
required: true,\r
number: true,\r
}\r
},\r
- license_group_classname: {\r
+ license_group_module_name: {\r
type: 'text',\r
rules : {\r
required: true,\r
required: true,\r
}\r
},\r
- classname: {\r
+ module_name: {\r
type: 'text',\r
rules : {\r
required: true,\r
required: true,\r
}\r
},\r
- classname: {\r
+ module_name: {\r
type: 'text',\r
rules : {\r
required: true,\r
required: true,\r
}\r
},\r
- classname: {\r
+ module_name: {\r
type: 'text',\r
rules : {\r
required: true,\r
number: true,\r
}\r
},\r
- license_group_classname: {\r
+ license_group_module_name: {\r
type: 'text',\r
rules : {\r
required: true,\r
'panel_id', \r
'caption', \r
'speech_balloon_template_id', \r
- 'speech_balloon_template_classname', \r
+ 'speech_balloon_template_module_name', \r
'z', \r
't', \r
'speech_balloon_template_settings'\r
column_names: [\r
'speech_balloon_id', \r
'speech_balloon_template_id', \r
- 'speech_balloon_template_classname', \r
+ 'speech_balloon_template_module_name', \r
'writing_format_id', \r
- 'writing_format_classname', \r
+ 'writing_format_module_name', \r
'content', \r
'font_size', \r
'text_align', \r
column_names: [\r
'speech_balloon_id', \r
'speech_balloon_template_id', \r
- 'speech_balloon_template_classname', \r
+ 'speech_balloon_template_module_name', \r
'system_picture_id', \r
'x', \r
'y', \r
'license_group_settings', \r
'credit_picture_settings', \r
'license_settings', \r
- 'license_group_classname', \r
+ 'license_group_module_name', \r
],\r
associations: {\r
belongs_to: [\r
'credit_picture_settings', \r
'license_settings', \r
'picture_id', \r
- 'license_group_classname', \r
+ 'license_group_module_name', \r
],\r
associations: {\r
belongs_to: [\r
},\r
column_names: [\r
'name', \r
- 'classname', \r
+ 'module_name', \r
'caption', \r
't', \r
'system_picture_id', \r
},\r
column_names: [\r
'name', \r
- 'classname', \r
+ 'module_name', \r
'caption', \r
'system_picture_id', \r
'settings', \r
license_group: {\r
column_names: [\r
'name', \r
- 'classname', \r
+ 'module_name', \r
'caption', \r
'url', \r
],\r
},\r
column_names: [\r
'license_group_id', \r
- 'license_group_classname', \r
+ 'license_group_module_name', \r
'name', \r
'caption', \r
'system_picture_id', \r
#マニフェスト\r
@system_resources = {\r
- engine_resources: {\r
- license_groups: {\r
- resource_items: {\r
+ templates: {\r
+ license_group: {\r
+ template_items: {\r
PettanrCreativeCommonsV30Licenses: 'pettanr_creative_commons_v30_licenses',\r
PettanrPettanCommonsV01Licenses: 'pettanr_pettan_commons_v01_licenses',\r
PettanrPettanProtectedV01Licenses: 'pettanr_pettan_protected_v01_licenses',\r
PettanrUnknownV01Licenses: 'pettanr_unknown_v01_licenses',\r
},\r
},\r
- speech_balloon_templates: {\r
- resource_items: {\r
+ speech_balloon_template: {\r
+ template_items: {\r
CircleSpeechBalloon: 'circle_speech_balloon',\r
PlainSpeechBalloon: 'plain_speech_balloon',\r
SquareSpeechBalloon: 'square_speech_balloon',\r
TestSpeechBalloon: 'test_speech_balloon',\r
},\r
},\r
- writing_formats: {\r
+ writing_format: {\r
has_route: 0,\r
- resource_items: {\r
+ template_items: {\r
PettanrSimpleFormat: 'pettanr_simple_format',\r
},\r
},\r
},\r
- elements: {\r
- PanelPicture: 'panel_pictures',\r
- SpeechBalloon: 'speech_balloons',\r
- GroundPicture: 'ground_pictures',\r
- GroundColor: 'ground_colors',\r
- },\r
select_items: {\r
provider_status_status_items: [\r
['select_items.provider_status.status.waiting', 0], \r
@item = self.class.model.show(params[:id], @operators)
set_play
play_list
- p @items
@sort_items = @list.items(@operators,
{:id => params[:id], :my_play => @item.own?(@operators)},
0, -1 # no limit
validates :speech_balloon_id, :numericality => {:allow_blank => true}
validates :speech_balloon_template_id, :presence => true, :numericality => true, :existence => {:both => false}
- validates :speech_balloon_template_classname, :presence => true, :length => {:maximum => 50}
+ validates :speech_balloon_template_module_name, :presence => true, :length => {:maximum => 50}
validates :system_picture_id, :presence => true, :numericality => true, :existence => {:both => false}
validates :x, :presence => true, :numericality => true
validates :y, :presence => true, :numericality => true
has_many :resource_pictures
validates :license_group_id, :presence => true, :numericality => true, :existence => {:both => false}
- validates :license_group_classname, :presence => true, :length => {:maximum => 50}
+ validates :license_group_module_name, :presence => true, :length => {:maximum => 50}
validates :name, :presence => true, :length => {:maximum => 50}
validates :caption, :presence => true, :length => {:maximum => 30}
validates :url, :presence => true, :length => {:maximum => 200}, :uniqueness => {:scope => :name}, :url => {:message => I18n.t('errors.messages.url')} #{:allow_blank => true}
has_many :licenses
validates :name, :presence => true, :length => {:maximum => 50}, :uniqueness => true
- validates :classname, :presence => true, :length => {:maximum => 50}
+ validates :module_name, :presence => true, :length => {:maximum => 50}
validates :caption, :presence => true, :length => {:maximum => 30}
validates :url, :presence => true, :length => {:maximum => 200}, :url => {:message => I18n.t('errors.messages.url')}
lg = l.license_group
attr[:license_id] = l.id
- ctl = lg.classname.pluralize + '::Attribute'
+ ctl = lg.module_name.pluralize + '::Attribute'
le = ctl.constantize.new attr
rp = ResourcePicture.new
validates :system_picture_id, :presence => true, :numericality => true, :existence => {:both => false}
validates :artist_id, :presence => true, :numericality => true, :existence => {:both => false}
validates :artist_name, :presence => true
- validates :license_group_classname, :presence => true, :length => {:maximum => 50}
+ validates :license_group_module_name, :presence => true, :length => {:maximum => 50}
def supply_default
end
:original_picture_id => rp.original_picture_id, :license_id => rp.license_id,
:system_picture_id => rp.system_picture_id, :artist_id => rp.artist_id,
:md5 => rp.md5, :artist_name => rp.artist_name,
- :license_group_classname => rp.license_group_classname,
+ :license_group_module_name => rp.license_group_module_name,
:license_group_settings => rp.license_group_settings,
:credit_picture_settings => rp.credit_picture_settings,
:license_settings => rp.license_settings
end
def credit_template
- "#{self.license_group_classname.tableize}/attributes/credit"
+ "#{self.license_group_module_name.tableize}/attributes/credit"
end
def full_credit_template
- "#{self.license_group_classname.tableize}/attributes/full_credit"
+ "#{self.license_group_module_name.tableize}/attributes/full_credit"
end
end
validates :system_picture_id, :presence => true, :numericality => true, :existence => {:both => false}
validates :original_picture_id, :presence => true, :numericality => true, :existence => {:both => false}
validates :artist_name, :presence => true
- validates :license_group_classname, :presence => true, :length => {:maximum => 50}
+ validates :license_group_module_name, :presence => true, :length => {:maximum => 50}
validates :picture_id, :presence => true, :numericality => true, :existence => {:both => false}
def supply_default
end
def credit_template
- "#{self.license_group_classname.tableize}/attributes/credit"
+ "#{self.license_group_module_name.tableize}/attributes/credit"
end
def full_credit_template
- "#{self.license_group_classname.tableize}/attributes/full_credit"
+ "#{self.license_group_module_name.tableize}/attributes/full_credit"
end
end
validates :speech_balloon_id, :numericality => {:allow_blank => true}
validates :speech_balloon_template_id, :presence => true, :numericality => true, :existence => {:both => false}
- validates :speech_balloon_template_classname, :presence => true, :length => {:maximum => 50}
+ validates :speech_balloon_template_module_name, :presence => true, :length => {:maximum => 50}
validates :writing_format_id, :presence => true, :numericality => true, :existence => {:both => false}
- validates :writing_format_classname, :presence => true, :length => {:maximum => 50}
+ validates :writing_format_module_name, :presence => true, :length => {:maximum => 50}
validates :font_size, :presence => true, :numericality => {:only_integer => false}
validates :text_align, :presence => true, :numericality => true, :inclusion => { :in => 0..3 }
validates :fore_color, :presence => true, :numericality => {:greater_than_or_equal_to => 0, :less_than => 0x1000000}
validates :panel_id, :numericality => {:allow_blank => true}
validates :speech_balloon_template_id, :presence => true, :numericality => true, :existence => {:both => false}
- validates :speech_balloon_template_classname, :presence => true, :length => {:maximum => 50}
+ validates :speech_balloon_template_module_name, :presence => true, :length => {:maximum => 50}
validates :z, :presence => true, :numericality => {:greater_than => 0}
validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
validates :speech_balloon_template_settings, :boost => {:boost_name => :speech_balloon_template}
belongs_to :system_picture
validates :name, :presence => true, :uniqueness => true, :length => {:maximum => 50}
- validates :classname, :presence => true, :length => {:maximum => 50}
+ validates :module_name, :presence => true, :length => {:maximum => 50}
validates :caption, :presence => true, :length => {:maximum => 30}
validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
validates :system_picture_id, :presence => true, :numericality => true, :existence => {:both => false}
belongs_to :system_picture
validates :name, :presence => true, :uniqueness => true, :length => {:maximum => 50}
- validates :classname, :presence => true, :length => {:maximum => 50}
+ validates :module_name, :presence => true, :length => {:maximum => 50}
validates :caption, :presence => true, :length => {:maximum => 30}
validates :t, :presence => true, :numericality => {:greater_than_or_equal_to => 0}
validates :system_picture_id, :presence => true, :numericality => true, :existence => {:both => false}
<%= h @item.name %>
</p>
<p>
- <b><%= t_m 'LicenseGroup.classname' -%>:</b>
- <%= h @item.classname %>
+ <b><%= t_m 'LicenseGroup.module_name' -%>:</b>
+ <%= h @item.module_name %>
</p>
<p>
<b><%= t_m 'LicenseGroup.url' -%>:</b>
<%= f.hidden_field :license_id %>
<%= f.hidden_field :system_picture_id %>
<%= f.hidden_field :artist_name %>
- <%= f.hidden_field :license_group_classname %>
+ <%= f.hidden_field :license_group_module_name %>
<%= f.hidden_field :license_group_settings %>
<%= f.hidden_field :credit_picture_settings %>
<%= f.hidden_field :license_settings %>
- <%= render :partial => @resource_picture.license_group_classname.tableize + '/attributes/confirm' %>
+ <%= render :partial => @resource_picture.license_group_module_name.tableize + '/attributes/confirm' %>
<div class="actions">
<%= f.submit t 'resource_pictures.new.publish' %>
<%= h @item.name %>
</p>
<p>
- <b><%= t_m 'WritingFormat.classname' -%>:</b>
- <%= h @item.classname %>
+ <b><%= t_m 'WritingFormat.module_name' -%>:</b>
+ <%= h @item.module_name %>
</p>
<p>
<b><%= t_m 'WritingFormat.created_at' -%>:</b>
devise_for :admins
devise_for :demand_users
- Manifest.manifest.system_resources.engine_resources.each do |engine_resource_name, engine_resource|
- if engine_resource.add_route?
- engine_resource.resource_items.each do |klass, name|
+ Manifest.manifest.system_resources.templates.each do |template_name, template|
+ if template.add_route?
+ template.template_items.each do |klass, name|
mount Module.const_get(klass)::Engine => "/#{name}"
end
end
--- /dev/null
+class ClassnameToModuleName < ActiveRecord::Migration
+ def up
+ rename_column :speech_balloons, :speech_balloon_template_classname, :speech_balloon_template_module_name
+ rename_column :balloons, :speech_balloon_template_classname, :speech_balloon_template_module_name
+ rename_column :speeches, :speech_balloon_template_classname, :speech_balloon_template_module_name
+ rename_column :speeches, :writing_format_classname, :writing_format_module_name
+ rename_column :pictures, :license_group_classname, :license_group_module_name
+ rename_column :resource_pictures, :license_group_classname, :license_group_module_name
+ rename_column :licenses, :license_group_classname, :license_group_module_name
+
+ rename_column :speech_balloon_templates, :classname, :module_name
+ rename_column :writing_formats, :classname, :module_name
+ rename_column :license_groups, :classname, :module_name
+ end
+
+ def down
+ end
+end
# no check
# return false unless self.resource.enable?
if self.extendable?
- @item.extend self.engine_extend_module
+ @item.extend self.extend_module
@item.__send__ @manifest.setter_method_name, self.parsed_settings
end
end
- def engine_resource_name
- @manifest.engine_resource_name || self.resource.table_name
+ # get template from system resource manifest
+ def template_path_name
+ self.template_manifest.template_items[self.template_module_name]
end
- # get engine resource from system resource manifest
- def my_engine_resource
- Manifest.manifest.system_resources.engine_resources[self.engine_resource_name]
- end
-
- def engine_classname
- @item.attributes[@manifest.extend_column_name]
- end
-
- # get snake_case engine name
- # ex) circle_speech_balloon
- # use to url, model_name generating
- def engine_name
- self.my_engine_resource.resource_items[self.engine_classname]
+ # get template manifest from system resource manifest
+ def template_manifest
+ Manifest.manifest.system_resources.templates[@manifest.template_name]
end
def model_name
- self.engine_name + '_' + @manifest.extend_item_name
+ self.template_path_name + '_' + @manifest.item_name_for_extend_model
end
def enable?
- self.my_engine_resource.resource_items.include? self.class_name
+ self.template_manifest.template_items.include? self.template_module_name
end
- # get engine's module name
- def class_name
- @item.attributes[@manifest.extend_column_name]
+ # get template module name
+ # ex) attributes[hoge__module_name] -> 'Hoge'
+ def template_module_name
+ @item.attributes[@manifest.column_name_for_template_module]
end
def settings
@item.attributes[@manifest.settings_column_name]
end
- # name space for engine
- def engine_module
- Object.const_get self.class_name
+ # name space for template
+ # ex) 'Hoge' -> Hoge
+ def template_module
+ Object.const_get self.template_module_name
end
def extendable?
- self.engine_module.constants.include? @manifest.extend_module_name.to_sym
+ self.template_module.constants.include? @manifest.extend_module_name.to_sym
end
# extend module in engine
- # ex) CircleSpeechBalloon::SpeechBalloonModule
- def engine_extend_module
- self.engine_module.const_get @manifest.extend_module_name
+ # ex) 'SpeechBalloonModule' -> CircleSpeechBalloon::SpeechBalloonModule
+ def extend_module
+ self.template_module.const_get @manifest.extend_module_name
end
# extend settings data model in engine
# ex) CircleSpeechBalloon::SpeechBalloon
- def engine_extend_model
- self.engine_module.const_get @manifest.extend_model_name
+ def extend_model
+ self.template_module.const_get @manifest.extend_model_class_name
end
- def check_resource
+ def check_template
@item.attributes[@manifest.foreign_key].blank? == false
end
# get system resource instance
def resource
- Manifest.manifest.models[@manifest.resource_name].classify
+ Manifest.manifest.models[@manifest.template_name].classify
end
# get extend instance
module Manifest
module ItemModule
class Boost < ManifestBase::NameValues
- attr :level, :resource_name, :engine_resource_name, :engine_resource_extend_column_name,
- :extend_column_name, :settings_column_name,
- :foreign_key, :extend_model_class_name, :extend_item_name,
+ attr :level, :template_name,
+ :column_name_for_template_module, :settings_column_name,
+ :foreign_key, :extend_model_class_name, :item_name_for_extend_model,
:setter_method_name, :getter_method_name,
:extend_module_name
def set_default
super
@values['level'] ||= 'post'
- @values['resource_name'] ||= @name
- # do refactoring!
- # resource_picture profiler extend by license group through license
- # @values['engine_resource_name'] ||= @name # suppling booster
- # @values['engine_resource_extend_column_name'] ||= @name # suppling booster
- @values['extend_column_name'] ||= @values['resource_name'] + '_classname'
- @values['settings_column_name'] ||= @values['resource_name'] + '_settings'
- @values['foreign_key'] ||= @values['resource_name'] + '_id'
+ @values['template_name'] ||= @name
+ @values['column_name_for_template_module'] ||= @values['template_name'] + '_module_name'
+ @values['settings_column_name'] ||= @name + '_settings'
+ @values['foreign_key'] ||= @values['template_name'] + '_id'
end
def init
super
@level = @values['level']
- @resource_name = @values['resource_name']
- @engine_resource_name = @values['engine_resource_name']
- @engine_resource_extend_column_name = @values['engine_resource_extend_column_name']
- @extend_column_name = @values['extend_column_name']
+ @template_name = @values['template_name']
+ @column_name_for_template_module = @values['column_name_for_template_module']
@settings_column_name = @values['settings_column_name']
@foreign_key = @values['foreign_key']
end
def init_after_load_manifest
# string name can't change before load manifest
@values['extend_model_class_name'] ||= @parent.model.singular
- @values['extend_item_name'] ||= @parent.model.item_name
- @values['setter_method_name'] ||= @values['extend_item_name'] + '_extend='
- @values['getter_method_name'] ||= @values['extend_item_name'] + '_extend'
-
+ @values['item_name_for_extend_model'] ||= @template_name
+ @values['setter_method_name'] ||= @values['item_name_for_extend_model'] + '_extend='
+ @values['getter_method_name'] ||= @values['item_name_for_extend_model'] + '_extend'
@extend_model_class_name = @values['extend_model_class_name']
- @extend_item_name = @values['extend_item_name']
+ @item_name_for_extend_model = @values['item_name_for_extend_model']
@setter_method_name = @values['setter_method_name']
@getter_method_name = @values['getter_method_name']
@extend_module_name = @extend_model_class_name + 'Module'
end
-
+ # speech.rb writing_format.rb
def supply_default item
self.engine_model(item).engine_extend_module.supply_default item, self
end
+ # speech.rb writing_format.rb
def overwrite item
self.engine_model(item).engine_extend_module.overwrite item, self
end
-require_dependency "manifest/system_resource/engine_resource"
+require_dependency "manifest/system_resource/template"
module Manifest
class SystemResource
include SystemResourceModule
def self.set_default system_resource_manifest
- system_resource_manifest['engine_resources'] ||= {}
- system_resource_manifest['elements'] ||= {}
+ system_resource_manifest['templates'] ||= {}
system_resource_manifest['select_items'] ||= {}
#oh my ...
#JSON.stringify couldn't print 1.0
system_resource_manifest
end
- attr :engine_resources, :elements, :select_items
+ attr :templates, :select_items
def initialize manifest, system_resource_manifest
@manifest = manifest
@system_resource_manifest = system_resource_manifest
- @engine_resources = EngineResource.manager(self, @system_resource_manifest['engine_resources'])
- @elements = system_resource_manifest['elements']
+ @templates = Template.manager(self, @system_resource_manifest['templates'])
@select_items = system_resource_manifest['select_items']
end
+++ /dev/null
-module Manifest
- module SystemResourceModule
- class EngineResource
- def self.manager system_resource, my_manifests
- engine_resources = {}
- my_manifests.each {|engine_resource_name, engine_resource_manifest|
- engine_resources[engine_resource_name] = self.new(system_resource, engine_resource_name, engine_resource_manifest)
- }
- engine_resources
- end
-
- attr :engine_resource_name, :engine_resource_manifest,
- :resource_items, :has_route
- def initialize system_resource, engine_resource_name, engine_resource_manifest
- @system_resource = system_resource
- @engine_resource_name = engine_resource_name
- @engine_resource_manifest = engine_resource_manifest
- self.set_default
- self.init
- end
-
- def set_default
- @engine_resource_manifest['resource_items'] ||= {}
- @engine_resource_manifest['has_route'] ||= 1
- end
-
- def init
- @resource_items = @engine_resource_manifest['resource_items']
- @has_route = @engine_resource_manifest['has_route']
- end
-
- def add_route?
- @has_route > 0
- end
-
- end
- end
-end
-
--- /dev/null
+module Manifest
+ module SystemResourceModule
+ class Template
+ def self.manager system_resource, my_manifests
+ templates = {}
+ my_manifests.each {|template_name, my_manifest|
+ templates[template_name] = self.new(system_resource, template_name, my_manifest)
+ }
+ templates
+ end
+
+ attr :template_name, :my_manifest, :path_name,
+ :template_items, :has_route
+ def initialize system_resource, template_name, my_manifest
+ @system_resource = system_resource
+ @template_name = template_name
+ @my_manifest = my_manifest
+ self.set_default
+ self.init
+ end
+
+ def set_default
+ @my_manifest['template_items'] ||= {}
+ @my_manifest['has_route'] ||= 1
+ end
+
+ def init
+ @has_route = @my_manifest['has_route']
+ @template_items = @my_manifest['template_items']
+ end
+
+ def add_route?
+ @has_route > 0
+ end
+
+ end
+ end
+end
+
# ClassMethods
def self.enable_list
- self.find(:all).delete_if {|system_resource|
- system_resource.enable? == false
+ self.find(:all).delete_if {|i|
+ i.enable? == false
}
end
- def my_engine_resource
- Manifest.manifest.system_resources.engine_resources[self.table_name]
+ def my_template
+ Manifest.manifest.system_resources.templates[self.table_name]
end
def enable?
- return false unless er = self.my_engine_resource
- er.resource_items.include? self.classname
+ return false unless tpl = self.my_template
+ tpl.template_items.include? self.classname
end
def my_engine_name
- self.my_engine_resource.resource_items[self.classname]
+ self.my_template.template_items[self.classname]
end
def my_engine
"parent_model_name": "panel",\r
"boost": {\r
"speech_balloon_template": {\r
- "resource_name": "speech_balloon_template",\r
- "engine_resource_name": "speech_balloon_templates",\r
- "engine_resource_extend_column_name": "speech_balloon_template_classname",\r
- "extend_column_name": "speech_balloon_template_classname",\r
- "settings_column_name": "speech_balloon_template_settings",\r
"extend_model_class_name": "SpeechBalloon",\r
- "extend_item_name": "speech_balloon"\r
+ "item_name_for_extend_model": "speech_balloon"\r
}\r
}\r
}\r
"parent_model_name": "speech_balloon",\r
"boost": {\r
"speech_balloon_template": {\r
- "resource_name": "speech_balloon_template",\r
- "engine_resource_name": "speech_balloon_templates",\r
- "engine_resource_extend_column_name": "speech_balloon_template_classname",\r
- "extend_column_name": "speech_balloon_template_classname",\r
- "settings_column_name": "speech_balloon_template_settings",\r
"extend_model_class_name": "Balloon",\r
- "extend_item_name": "balloon"\r
+ "item_name_for_extend_model": "balloon"\r
}\r
}\r
}\r
"boost": {\r
"writing_format": {},\r
"speech_balloon_template": {\r
- "resource_name": "speech_balloon_template",\r
- "engine_resource_name": "speech_balloon_templates",\r
- "engine_resource_extend_column_name": "speech_balloon_template_classname",\r
- "extend_column_name": "speech_balloon_template_classname",\r
- "settings_column_name": "speech_balloon_template_settings",\r
"extend_model_class_name": "Speech",\r
- "extend_item_name": "speech"\r
+ "item_name_for_extend_model": "speech"\r
}\r
}\r
}\r
"args": {\r
"boost": {\r
"license_group": {\r
- "resource_name": "license_group",\r
- "engine_resource_name": "license_groups",\r
- "engine_resource_extend_column_name": "license_group_classname",\r
- "extend_column_name": "license_group_classname",\r
- "settings_column_name": "license_group_settings",\r
"extend_model_class_name": "License",\r
- "extend_item_name": "license"\r
+ "item_name_for_extend_model": "license"\r
},\r
"license": {\r
"level": "read",\r
- "resource_name": "license_group",\r
- "engine_resource_name": "license_groups",\r
- "engine_resource_extend_column_name": "license_group_classname",\r
- "extend_column_name": "license_group_classname",\r
- "settings_column_name": "license_settings",\r
+ "template_name": "license_group",\r
"extend_model_class_name": "Attribute",\r
- "extend_item_name": "attribute"\r
+ "item_name_for_extend_model": "attribute"\r
},\r
"credit_picture": {\r
"level": "read",\r
- "resource_name": "license_group",\r
- "engine_resource_name": "license_groups",\r
- "engine_resource_extend_column_name": "license_group_classname",\r
- "extend_column_name": "license_group_classname",\r
- "settings_column_name": "credit_picture_settings",\r
+ "template_name": "license_group",\r
"extend_model_class_name": "CreditPicture",\r
- "extend_item_name": "credit_picture"\r
+ "item_name_for_extend_model": "credit_picture"\r
}\r
}\r
}\r
"args": {\r
"boost": {\r
"license_group": {\r
- "resource_name": "license_group",\r
- "engine_resource_name": "license_groups",\r
- "engine_resource_extend_column_name": "license_group_classname",\r
- "extend_column_name": "license_group_classname",\r
- "settings_column_name": "license_group_settings",\r
"extend_model_class_name": "License",\r
- "extend_item_name": "license"\r
+ "item_name_for_extend_model": "license"\r
},\r
"license": {\r
"level": "read",\r
- "resource_name": "license_group",\r
- "engine_resource_name": "license_groups",\r
- "engine_resource_extend_column_name": "license_group_classname",\r
- "extend_column_name": "license_group_classname",\r
- "settings_column_name": "license_settings",\r
+ "template_name": "license_group",\r
"extend_model_class_name": "Attribute",\r
- "extend_item_name": "attribute"\r
+ "item_name_for_extend_model": "attribute"\r
},\r
"credit_picture": {\r
"level": "read",\r
- "resource_name": "license_group",\r
- "engine_resource_name": "license_groups",\r
- "engine_resource_extend_column_name": "license_group_classname",\r
- "extend_column_name": "license_group_classname",\r
- "settings_column_name": "credit_picture_settings",\r
+ "template_name": "license_group",\r
"extend_model_class_name": "CreditPicture",\r
- "extend_item_name": "credit_picture"\r
+ "item_name_for_extend_model": "credit_picture"\r
}\r
}\r
}\r
"args": {\r
"parent_model_name": "license_group",\r
"boost": {\r
- "license_group": {},\r
+ "license_group": {\r
+ "extend_model_class_name": "License",\r
+ "item_name_for_extend_model": "license"\r
+ },\r
"credit_picture": {\r
"level": "read",\r
- "resource_name": "license_group",\r
- "settings_column_name": "credit_picture_settings",\r
+ "template_name": "license_group",\r
"extend_model_class_name": "CreditPicture",\r
- "extend_item_name": "credit_picture",\r
- "extend_column_name": "license_group_classname"\r
+ "item_name_for_extend_model": "credit_picture"\r
}\r
}\r
}\r
"number": true\r
}\r
},\r
- "speech_balloon_template_classname": {\r
+ "speech_balloon_template_module_name": {\r
"type": "text",\r
"rules": {\r
"required": true\r
"number": true\r
}\r
},\r
- "speech_balloon_template_classname": {\r
+ "speech_balloon_template_module_name": {\r
"type": "text",\r
"rules": {\r
"required": true\r
"number": true\r
}\r
},\r
- "speech_balloon_template_classname": {\r
+ "speech_balloon_template_module_name": {\r
"type": "text",\r
"rules": {\r
"required": true\r
"number": true\r
}\r
},\r
- "writing_format_classname": {\r
+ "writing_format_module_name": {\r
"type": "text",\r
"rules": {\r
"required": true\r
"type": "text",\r
"rules": {}\r
},\r
- "license_group_classname": {\r
+ "license_group_module_name": {\r
"type": "text",\r
"rules": {\r
"required": true\r
"number": true\r
}\r
},\r
- "license_group_classname": {\r
+ "license_group_module_name": {\r
"type": "text",\r
"rules": {\r
"required": true\r
"required": true\r
}\r
},\r
- "classname": {\r
+ "module_name": {\r
"type": "text",\r
"rules": {\r
"required": true\r
"required": true\r
}\r
},\r
- "classname": {\r
+ "module_name": {\r
"type": "text",\r
"rules": {\r
"required": true\r
"required": true\r
}\r
},\r
- "classname": {\r
+ "module_name": {\r
"type": "text",\r
"rules": {\r
"required": true\r
"number": true\r
}\r
},\r
- "license_group_classname": {\r
+ "license_group_module_name": {\r
"type": "text",\r
"rules": {\r
"required": true\r
}\r
},\r
"system_resources": {\r
- "engine_resources": {\r
- "license_groups": {\r
- "resource_items": {\r
+ "templates": {\r
+ "license_group": {\r
+ "template_items": {\r
"PettanrCreativeCommonsV30Licenses": "pettanr_creative_commons_v30_licenses",\r
"PettanrPettanCommonsV01Licenses": "pettanr_pettan_commons_v01_licenses",\r
"PettanrPettanProtectedV01Licenses": "pettanr_pettan_protected_v01_licenses",\r
"PettanrUnknownV01Licenses": "pettanr_unknown_v01_licenses"\r
}\r
},\r
- "speech_balloon_templates": {\r
- "resource_items": {\r
+ "speech_balloon_template": {\r
+ "template_items": {\r
"CircleSpeechBalloon": "circle_speech_balloon",\r
"PlainSpeechBalloon": "plain_speech_balloon",\r
"SquareSpeechBalloon": "square_speech_balloon",\r
"TestSpeechBalloon": "test_speech_balloon"\r
}\r
},\r
- "writing_formats": {\r
+ "writing_format": {\r
"has_route": 0,\r
- "resource_items": {\r
+ "template_items": {\r
"PettanrSimpleFormat": "pettanr_simple_format"\r
}\r
}\r
},\r
- "elements": {\r
- "PanelPicture": "panel_pictures",\r
- "SpeechBalloon": "speech_balloons",\r
- "GroundPicture": "ground_pictures",\r
- "GroundColor": "ground_colors"\r
- },\r
"select_items": {\r
"provider_status_status_items": [\r
[\r