API に Grape を使用する Rails 4 プロジェクトがあります。Grape のドキュメントで説明されているように、いくつかのカスタム検証を行いたいと考えています。カスタム検証コード (lib ファイルなど) をどこに配置すればよいかを知りたいのですが、API ファイル内でそれを使用するために何かを含めるか要求する必要がありますか?
ドキュメントではクラスを作成するように指示されていますが、多くのカスタム検証を作成する必要がある場合、ファイル構造について混乱しています。
API に Grape を使用する Rails 4 プロジェクトがあります。Grape のドキュメントで説明されているように、いくつかのカスタム検証を行いたいと考えています。カスタム検証コード (lib ファイルなど) をどこに配置すればよいかを知りたいのですが、API ファイル内でそれを使用するために何かを含めるか要求する必要がありますか?
ドキュメントではクラスを作成するように指示されていますが、多くのカスタム検証を作成する必要がある場合、ファイル構造について混乱しています。
前回 Grape を使用したとき、lib にカスタム検証を追加し、それらを使用するすべての API クラスにそれらを要求しました。例えば:
lib/api/validations/minimum_value.rb
class AlphaNumeric < Grape::Validations::Validator
def validate_param!(attr_name, params)
unless params[attr_name] =~ /^[[:alnum:]]+$/
raise Grape::Exceptions::Validation, params: [@scope.full_name(attr_name)], message: "must consist of alpha-numeric characters"
end
end
end
アプリ/api/twitter.rb
class Twitter::API < Grape::API
require_relative '../../lib/api/validations/minimum_value'
もちろん、手動で要求する必要がないように、オートローダーに追加することもできます。lib/api/validations