色地 @ GroundColorSpec

カラム

name和名typedefaultnulllimitnote
panel_idコマinteger0FALSE 所属コマ
codeカラーコードinteger0FALSE 24bitカラーコード
orientation方向integer0FALSE
xyオフセットinteger %
whサイズinteger %
z重なりinteger0FALSE 表示優先順位
t話順integerfalse 時間軸 順序
caption様子string フキダシ画像のAltに使用
created_at作成datetime
updated_at更新datetime

選択肢

方向

  • 0:横方向
  • 1:縦方向

作成手順

色地は常にコマ経由で作成されるため、PanelsControllerからパラメータをもらって作成する。

検証

カラム別

panel_id

  • 数値であること

code

  • nullでないこと。
  • 数値であること
  • 24bitカラーコードで表現できること。

orientation

  • nullでないこと。
  • 数値であること
  • 0または1であること

xy

  • 数値であること
  • 0以上の整数であること。

wh

  • 数値であること
  • 0以上の整数であること。

z

  • nullでないこと。
  • 数値であること
  • 正の整数であること。

t

  • nullでないこと。
  • 数値であること
  • 0以上の整数であること。

全体

機能

デフォルト値補充

supply_default()

パラメータ

解説

  • 補充する値はない。

上書き補充

overwrite()

パラメータ

解説

  • 補充する値はない。

閲覧許可

visible?(roles)

パラメータ

  • roles:ロールリスト

戻り

真偽

解説

検査対象が色地を閲覧できるかどうかを判定する

  • オープンモードのとき、自身にゲスト用ロールチェックを問い合わせ、その結果が偽であれば、falseを返す。
    • ロールリストを渡す。
  • クローズドモードとき、自身に読者用ロールチェックを問い合わせ、その結果が偽であれば、falseを返す。
    • ロールリストを渡す。
  • 自身に所持判定を問い合わせ、自分のコンテンツなら許可を返す。
    • ロールリストを渡す。
  • 公開されているコマの色地なら許可を返す。
  • それ以外なら不許可を返す。

1ページの件数

self.default_page_size

パラメータ

解説

一覧取得時に返す件数のデフォルト値

  • 25を返す。

1ページの最大件数

self.max_page_size

パラメータ

解説

ユーザは一覧取得時に返す件数を指定できるが、システムは上限値を設定できる

  • 100を返す。

ページ位置補正

self.page prm = nil

パラメータ

  • prm:ページ位置

解説

一覧取得時に何ページ目を返すかの指定値を補正

  • パラメータを数値として認識する
  • 省略時は1
  • 0以下のときは1

ページ数補正

self.page_size prm = self.default_page_size

パラメータ

  • prm:ページ数

解説

一覧で取得する件数

  • パラメータを数値として認識する
  • 省略時は1
  • 0以下のときは1
  • 1ページの最大件数を上回っているなら、1ページの件数を返す。

一覧取得

list(page = 1, page_size = self.default_page_size)

パラメータ

  • page:何ページ目か
  • page_size:1ページに収まる件数

解説

  • 色地を更新日時順に取得する。
  • 公開されたコマの選択色地に限る
  • 関連データとして一覧取得オプションで定義されたモデルを含む。
  • ページ処理に対応し、毎ページn件の条件でmページ目から取得することができる。

マイリスト取得

mylist(author, page = 1, page_size = self.default_page_size)

パラメータ

  • author:作家データ
  • opt:関連データ取得オプション
  • page:何ページ目か
  • page_size:1ページに収まる件数

解説

自分のコマで使った色地を公開非公開に関わらず取得する。

  • 色地を更新日時順に取得する。
  • パラメータで与えられた作家のコマの色地に限る
  • 関連データとして一覧取得オプションで定義されたモデルを含む。
  • ページ処理に対応し、毎ページn件の条件でmページ目から取得することができる。

他作家の選択色地リスト取得

himlist(author, page = 1, page_size = self.default_page_size)

パラメータ

  • author:作家データ
  • page:何ページ目か
  • page_size:1ページに収まる件数

解説

指定した作家のコマで使った色地を取得する。

  • 色地を更新日時順に取得する。
  • パラメータで与えられた作家の公開コマに限る
  • 関連データとして一覧取得オプションで定義されたモデルを含む。
  • ページ処理に対応し、毎ページn件の条件でmページ目から取得することができる。

一覧取得オプション

下記の関連テーブルを含む

  • panel
    • author

json一覧出力オプション

下記の関連テーブルのカラムを含む

  • panel
    • author

単体取得

show(id, au)

パラメータ

  • id:選択色地id
  • au:作家オブジェクト

解説

  • idの選択色地を取得する。
  • 関連データとして単体取得オプションで定義されたモデルを含む。
  • 色地に閲覧許可を問い合わせ、不許可なら、例外403 ActiveRecord::Forbiddenを発生させる。
  • 存在しない選択色地のidを要求された場合は、例外404 ActiveRecord::RecordNotFoundを発生させる。

単体取得オプション

下記の関連テーブルを含む

  • panel
    • author

json単体出力オプション

下記の関連テーブルの(すべての)カラムを含む

  • panel
    • author

脚本の表示

scenario

パラメータ

戻り

脚本の文字列(HTML形式)

解説

脚本を返す。 ただし現在は脚本を入力するためのカラムが用意されていないので空の文字列を返す。