POSTパラメータを YARD で記載するように対応 テーブル設計の見直し
authorOHASHI, Norikazu <katz@neko-mori.sakura.ne.jp>
Thu, 18 Apr 2019 14:00:33 +0000 (23:00 +0900)
committerOHASHI, Norikazu <katz@neko-mori.sakura.ne.jp>
Thu, 18 Apr 2019 14:00:33 +0000 (23:00 +0900)
.yardopts [new file with mode: 0644]
readme.md
sinatra/app/controllers/web_gui.rb
sinatra/app/models/users_db.rb

diff --git a/.yardopts b/.yardopts
new file mode 100644 (file)
index 0000000..4b7b288
--- /dev/null
+++ b/.yardopts
@@ -0,0 +1,4 @@
+--plugin yard-sinatra
+--type-name-tag post_param:"POST parameters"
+-
+readme.md
index 3f16d8d..1df7530 100644 (file)
--- a/readme.md
+++ b/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 で複合キーとする。
index fc63bad..5238d77 100644 (file)
@@ -48,11 +48,10 @@ class WebGui < Sinatra::Base
   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]
@@ -77,9 +76,8 @@ class WebGui < Sinatra::Base
   end
 
   # ログインページ(POST)
-  # @note POST パラメータ:
-  #   name [String] ログインユーザ名,
-  #   passwd [String] パスワード
+  # @post_param name [String] ログインユーザ名,
+  # @post_param passwd [String] パスワード
   # @raise [WebError] ログイン失敗
   post '/login' do
     name = params[:name]
index 90e7e7c..9018393 100644 (file)
@@ -13,6 +13,10 @@ ActiveRecord::Base.establish_connection(:development)
 
 # ユーザ情報
 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)
@@ -25,6 +29,7 @@ class UserAccount
   # ユーザロール
   ROLE_ADMIN  = 0  #管理者権限
   ROLE_NORMAL = 8  #一般権限
+  ROLE_FORGOT = 10 #パスワード忘れ中
   
   # ユーザ認証エラー
   class AuthenticationError < SecurityError