This Project Has Not Released Any Files
各アイテムに対して、アイテムのペタナイズを設定する。
名前付き可変オブジェクト(詳しくはManifestBaseのNameTypeArgsを参照)。タイプは次の中から選ぶ。省略も可能。
名前付きオブジェクト(詳しくはManifestBaseのNameValuesを参照)。
ブーストはややこしいので、次の当たりも参照する。
この部分のマニフェストは、次の辺りで利用される。
名前はテンプレートのアイテム名を基本とする。
boost: { speech_balloon_template: { }, },
どの段階でブーストするかを次の中から文字列で設定する。省略したときは'post'になる。
テンプレートのアイテム名を文字列で設定する。省略したときは、ブースト名が補充される。
通常はブースト名とテンプレートのアイテム名は一致しているので省略できる。しかし、一つのテンプレートが複数の拡張データを取り扱うときなど、一致しないこともある。そのようなケースで利用する。
例えば、ライセンスグループでは通常の拡張データに加えて、クレジットに必要な画像を拡張データとして所持している。この拡張データを展開するにはテンプレート名を指定しなければならない。
license: { args: { boost: { license_group: { extend_model_class_name: 'License', item_name_for_extend_model: 'license', }, credit_picture: { template_name: 'license_group', extend_model_class_name: 'CreditPicture', item_name_for_extend_model: 'credit_picture', }, }, } }
credit_pictureを展開するためのテンプレートはlicense_groupである。
拡張アイテムには必ず拡張データを解釈するためのテンプレートのモジュール名が収められている。そのカラム名を文字列で設定する。省略したときはテンプレート名に'_module_name'を加えたものを補充する。
「設定より規約」なので、通常は省略して良い。
license: { args: { boost: { license_group: { }, credit_picture: { template_name: 'license_group', }, }, } }
上の場合、license_groupはブースト名がテンプレート名として流用され、license_group_module_nameとなる。credit_pictureは設定されたテンプレート名が利用され、license_group_module_nameとなる。どちらも同じテンプレートで拡張するので、これで良い。
license['license_group_module_name']は、おそらく'PettanrCreativeCommonsV30Licenses'とか'PettanrPettanCommonsV01Licenses'が入っている。この文字列からテンプレートのモジュールを取得することになる。
拡張データが入っているカラム名を文字列で設定する。省略したときはブースト名に'_settings'を加えたものを補充する。こちらも特別な事情がない限り、設定の必要はない。
license: { args: { boost: { license_group: { }, credit_picture: { template_name: 'license_group', }, }, } }
上の場合、license_groupはlicense_group_settingsとなる。あちらは設定されたテンプレート名が利用され、credit_picture_settingsとなる。
拡張モデルのクラス名を文字列で設定する。拡張モデルとは、拡張データをモデル化して扱いやすくするもの。テンプレートのモジュールの中にモデルが定義されているので、この文字列からモデルを探す。
この項目を省略したときは、テンプレートは拡張モデルを持たないことを意味する。
拡張モジュールの名称を文字列で設定する。
省略したときは、拡張モデルのクラス名に'Module'を加えたものを補充する。ただし、拡張モデルを持たない場合に省略すると、例外が発生する。次の例では、extend_model_class_nameに'Speech'が設定されているので、'SpeechModule'になる。
speech_balloon_template: { extend_model_class_name: 'Speech', item_name_for_extend_model: 'speech', },
拡張モデルのアイテム名を文字列で設定する。省略したときはテンプレート名が補充される。通常のモデルであれば、マニフェストからアイテム名を取得できるが、拡張モデルはペタナイズされていないので、拡張モデルからアイテム名を取得できない。単純に拡張モデルのクラス名をスネークケースに変換したものと考えて用意。ブースト名やテンプレート名と一致しないケースでは設定する。
拡張アイテムに拡張モデルを引き渡すためのメソッド名を文字列で設定する。省略したときは拡張モデルのアイテム名に'_extend='を加えたものを補充する。メソッド名が重複する恐れを考慮して用意した。ほとんどの場合、設定する必要はないと思われる。
ブーストの目的は拡張データを扱いやすい形にすること。そのために、拡張モデルをオブジェクト化して、拡張データを展開する。そのオブジェクトを拡張アイテムに引き渡して利用してもらう。引き渡すためのメソッドは拡張モジュールに定義されている。例えば、フキダシテンプレートでは次のような感じ。
module CircleSpeechBalloon module SpeechBalloonModule def speech_balloon_extend= params @speech_balloon_extend = CircleSpeechBalloon::SpeechBalloon.new params end end end
拡張アイテムはブーストした段階で拡張モジュールが適用される。これで拡張アイテムにメソッドが定義されるので、代入によって拡張アイテムのインスタンス変数に拡張オブジェクトがセットされる。
拡張アイテムから拡張オブジェクトを取得するためのメソッド名を文字列で設定する。省略したときは拡張モデルのアイテム名に'_extend'を加えたものを補充する。
setter_method_nameと対になる設定。こちらは取得側。
拡張モジュール名。読み取り専用。拡張モデル名から生成する。
拡張モデルがSpeechBalloonの時、'SpeechBalloonModule'となる。
親のモデルの名称を文字列で設定する。省略はできない。
モデルのマニフェストの関連モデルには、すべてのモデルが記述されているので、エレメント構造を正確に類推することはできない。この設定によって、親モデルを明確に示す。
親のモデルの名称を文字列で設定する。省略はできない。
モデルのマニフェストの関連モデルには、すべてのモデルが記述されているので、バインダー構造を正確に類推することはできない。この設定によって、親モデルを明確に示す。
バインダーに連結するコンテンツを文字列で設定する。省略はできない。
バインダーにリーフを差し込むことで、閉じられたページを表現しているが、そのページにかぶせられるコンテンツをここで設定する。
scroll_panel: { type: 'leaf', args: { parent_model_name: 'scroll', destination_model_name: 'panel', }, },
上の例では、スクロールに差し込むスクコマにコマをかぶせている。
[PageInfo]
LastUpdate: 2014-06-15 16:52:01, ModifiedBy: yasushiito
[Permissions]
view:all, edit:login users, delete/config:members