--- /dev/null
+--plugin yard-sinatra
+--type-name-tag post_param:"POST parameters"
+-
+readme.md
| 5 | orignal_author | VARCHAR(127) | | 原著者 |
| 6 | translator | VARCHAR(127) | | 翻訳者 |
| 7 | publisher | VARCHAR(127) | | 出版社 |
-| 8 | summary | VARCHAR(511) | | 概要 |
-| 9 | book_shadow | BLOB | | 書影 |
-| 10 | user_id | INTEGER | NOT NULL | ユーザID |
-| 11 | rank | INTEGER | | 評価
-| 12 | creat_at | DATETIME | NOT NULL | 登録日時 |
-| 13 | update_at | DATETIME | NOT NULL | 更新日時 |
+| 8 | book_shadow | TEXT | | 書影(URL) |
+| 9 | creat_at | DATETIME | NOT NULL | 登録日時 |
+| 10 | update_at | DATETIME | NOT NULL | 更新日時 |
+### 蔵書管理テーブル (book\_collections)
+| 項番 | カラム名 | 型 | 属性 | 概要 |
+| --: | --- | --- | --- | --- |
+| 1 | isbn | VARCHAR(14) | NOT NULL | ISBNコード |
+| 2 | user_id | INTEGER | NOT NULL | ユーザID |
+| 3 | summary | TEXT | | 概要 |
+| 4 | rank | INTEGER | | 評価 |
+| 5 | creat_at | DATETIME | NOT NULL | 登録日時 |
+| 6 | update_at | DATETIME | NOT NULL | 更新日時 |
注: isdn + user_id で複合キーとする。
end
# サインアップページ(POST)
- # @note POST パラメータ:
- # name [String] ログインユーザ名,
- # full_name [String] フルネーム,
- # email [String] Eメール,
- # passwd [String] パスワード
+ # @post_param name [String] ログインユーザ名
+ # @post_param full_name [String] フルネーム
+ # @post_param email [String] Eメール
+ # @post_param passwd [String] パスワード
# @raise [WebError] サイアップ失敗
post '/signup' do
name = params[:name]
end
# ログインページ(POST)
- # @note POST パラメータ:
- # name [String] ログインユーザ名,
- # passwd [String] パスワード
+ # @post_param name [String] ログインユーザ名,
+ # @post_param passwd [String] パスワード
# @raise [WebError] ログイン失敗
post '/login' do
name = params[:name]
# ユーザ情報
class User < ActiveRecord::Base
+ # ユーザアカウントを作成
+ # @param [Symbol] key カラム名
+ # @param [String] pattern 正規表現パターン
+ # @return [Array<User>] すでにユーザ情報を登録済み
def self.with_regexp(key, pattern)
column = columns_hash[key.to_s].name
where("`#{table_name}`.`#{column}` REGEXP ?", pattern)
# ユーザロール
ROLE_ADMIN = 0 #管理者権限
ROLE_NORMAL = 8 #一般権限
+ ROLE_FORGOT = 10 #パスワード忘れ中
# ユーザ認証エラー
class AuthenticationError < SecurityError