記法 @ WritingFormatSpec

カラム

name和名typedefaultnulllimitnote
name管理名string FALSE50管理名
classnameクラス名string FALSE
caption名前string FALSE30表示名
system_picture_id画像integer FALSE アイコン
settings string FALSE
created_at作成datetime
updated_at更新datetime

作成手順

インポート機能を通してjsonファイルから作成する。

検証

カラム別

name

  • nullでないこと。
  • 50文字以内であること。
  • ユニークであること。

classname

  • nullでないこと。
  • 50文字以内であること。

caption

  • nullでないこと。
  • 30文字以内であること。

caption

  • nullでないこと。
  • 30文字以内であること。

全体

機能

デフォルト値補充

supply_default()

パラメータ

解説

  • 補充すべきデータはない。

overwrite

パラメータ

解説

  • 補充すべきデータはない。

一覧取得

list()

パラメータ

解説

他の一覧と違ってページ制御しない。ユーザがwebページから操作する想定はしておらず、APIから取得するための機能であって、なおかつ数量が限られる性質のデータだから。

  • 名前順に取得する。
  • 関連データとして一覧取得オプションで定義されたモデルを含む。

一覧取得オプション

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

json一覧出力オプション

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

単体取得

show(id)

パラメータ

  • id:記法id

解説

  • idの記法を取得する。
  • 関連データとして単体取得オプションを与えることができる。
  • 存在しない記法のidを要求された場合は、例外404 ActiveRecord::RecordNotFoundを発生させる。

単体取得オプション

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

json単体出力オプション

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

更新

self.store(name, attr)

パラメータ

  • name:記法名
  • attr:カラム値

解説

  • システム画像置換を依頼して、カラム値のシステム画像データをidに変えてもらう。
  • credit_picturesがカラム形式なので、json文字列に変換しておく。
  • インポート処理のデータ更新準備に依頼してオブジェクトをもらう。
    • ライセンス名とカラム値を渡す。
  • システム画像置換の結果判定
    • Falseのとき
      • 全体エラーメッセージを「システム画像作成失敗」とする。
    • False以外のとき(置換すべきデータがない場合Nilを返す)
      • オブジェクトを保存する。
  • オブジェクトを返す。