This Project Has Not Released Any Files
拡張性アイテムをブーストマニフェストに従ってブーストするための処理。
ブーストはデータベースからアイテムを取得するまで実行できないので、マニフェストの段階では処理できない。
テンプレートアイテム(テンプレートのインスタンス)を参照してしまうと、 SQLが発生してしまうので、テンプレートアイテムにはタッチしないで処理できるように心がける。
テンプレートアイテムの中には拡張モデルを持たないものもある。今のところ個別に判断するしかない。
拡張性アイテムがブーストマニフェストを参照して処理する機能を集めたもの。
テンプレートモジュールが拡張モジュールを備えているなら、拡張する。そして、拡張データをオブジェクト化してアイテムに引き渡す。
テンプレートアイテムが無効になっていたとしても、拡張を行う。過去に利用されたテンプレートアイテムをブーストできなければ、その後のコンテンツのメンテナンスが不可能になってしまうので。
ブースト処理あるいは拡張オブジェクトを簡単に操作するための機能を用意している。
システムリソースのマニフェストのテンプレート項目からテンプレート名のスネークケースを取得する。次のようなケースでは、'circle_speech_balloon'が返る。メソッド名は「パス名」になっているけど、実際はもっと広い幅の意味を持っている。
speech_balloon_template: { template_items: { CircleSpeechBalloon: 'circle_speech_balloon', }, },
ペタナイズのテンプレートにも同じ機能が実装されているが、ブースターはテンプレートアイテムを参照しない方針なので、独自に実装している。
システムリソースのマニフェストのテンプレートマニフェストを返す。ブーストのマニフェストからテンプレート名が取得できるので、その名称からテンプレートマニフェストが取得できる。
実はペタナイズのテンプレートにも同じ機能が実装されている。テンプレート名はテンプレートのアイテム名なので、ここからテンプレートのモデルのクラスを取得できるはず。それならば、テンプレートのクラスメソッドも呼び出せるはず。問題なければ、こちらを削除して統合したい。
拡張モデル名を返す。
ブーストマニフェストから拡張モデル名が生成できる。拡張モデル名はエンジンのスネークケース名をprefixにしたもの。例えば、circle_speech_balloonテンプレートのフキダシ用拡張モデルは次のようになる。
circle_speech_balloon_speech_balloon
テンプレートが有効であるかどうかを返す。
ペタナイズのテンプレートにも同じ機能が実装されているが、ブースターはテンプレートアイテムを参照しない方針なので、独自に実装している。
テンプレートのモジュール名を文字列で返す。
ここで言うモジュール名とは、テンプレート全体のnamespaceである。拡張モジュールとは違うので注意すること。例えば、ぺったんコモンズライセンスのテンプレートでは'PettanrPettanCommonsV01Licenses'となる。
ペタナイズのテンプレートにも同じ機能が実装されているが、ブースターはテンプレートアイテムを参照しない方針なので、独自に実装している。
テンプレートのモジュールを返す。
ここで言うモジュールとは、テンプレート全体のnamespaceである。拡張モジュールとは違うので注意すること。GlobalNamespaceからtemplate_module_nameの名称が一致するオブジェクトを探して返す。例えば、ぺったんコモンズライセンスのテンプレートではPettanrPettanCommonsV01Licensesとなる。
テンプレートアイテムを参照すれば一発で取得できるが、ブースターはテンプレートアイテムを参照しない方針なので、独自に実装している。
テンプレートが拡張モジュールを備えているかどうかを返す。
拡張モジュールを返す。
テンプレートのnamespaceから拡張モジュールを探して返す。拡張モジュール名はブーストマニフェストから取得できる。例えば、テンプレートCircleSpeechBalloonに定義されているフキダシ拡張モジュールSpeechBalloonModuleをCircleSpeechBalloon::SpeechBalloonModuleのような状態で返す。
テンプレートは拡張モデルを持っているか?
ブーストマニフェストの、拡張モデル名が設定されているかどうかで判別する。
拡張モデルを返す。ただし、テンプレートモジュールが拡張モデルを持たない場合、 nilを返す。
拡張データを納めるためのモデルを返す。
拡張データを返す。
アイテムから、ブーストで展開されるべき拡張データを取得して返す。
テンプレートがセットされているがどうかをチェックする。
テンプレートは拡張アイテムとIDでつながっているので、 IDがセットされていないことには操作することはできない。
テンプレートのモデルを返す。ただし、テンプレートが拡張モデルを持たない場合、 nilを返す。
CircleSpeechBalloonModuleではなく、SpeechBalloonTemplateの方。テンプレートのクラスメソッドを呼び出す時などに使う。
データ展開済の拡張モデルを返す。
拡張モデルはペタナイズされていないので、正確に言うとアイテムではないのだが… 。
拡張データの文字列をjson形式にパースした結果を返す。
拡張データの更新。
拡張アイテムの拡張データ(json文字列のデータ)を更新しても、拡張モデルのオブジェクトには影響を与えない。同期を取るためにこの機能を呼び出す。
多分もっといい方法があるはず。抜本的対策を求む。
拡張モデルにデフォルト値を補充する。
拡張モデルからは拡張性アイテムを参照できないので、引数で渡す。
拡張モデルを上書き補充する。
拡張モデルからは拡張性アイテムを参照できないので、引数で渡す。
[PageInfo]
LastUpdate: 2014-06-15 18:52:33, ModifiedBy: yasushiito
[Permissions]
view:all, edit:login users, delete/config:members