Module: Gate::Rails
- Defined in:
- lib/gate/rails.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- SchemaNotDefined =
Class.new(StandardError)
Instance Attribute Summary collapse
-
#validated_params ⇒ Object
readonly
Returns the value of attribute validated_params.
Class Method Summary collapse
Instance Method Summary collapse
- #handle_invalid_params(_errors) ⇒ Object
- #params_schema ⇒ Object
- #params_schema_name ⇒ Object
- #params_schema_registered? ⇒ Boolean
- #validate_params ⇒ Object
Instance Attribute Details
#validated_params ⇒ Object (readonly)
Returns the value of attribute validated_params.
5 6 7 |
# File 'lib/gate/rails.rb', line 5 def validated_params @validated_params end |
Class Method Details
.configure(&block) ⇒ Object
14 15 16 |
# File 'lib/gate/rails.rb', line 14 def self.configure(&block) @base_schema = Class.new(Dry::Validation::Schema, &block) end |
.included(base) ⇒ Object
10 11 12 |
# File 'lib/gate/rails.rb', line 10 def self.included(base) base.send(:extend, ClassMethods) end |
Instance Method Details
#handle_invalid_params(_errors) ⇒ Object
51 52 53 |
# File 'lib/gate/rails.rb', line 51 def handle_invalid_params(_errors) head :bad_request end |
#params_schema ⇒ Object
59 60 61 |
# File 'lib/gate/rails.rb', line 59 def params_schema self.class.fetch_params_schema(params_schema_name) end |
#params_schema_name ⇒ Object
63 64 65 |
# File 'lib/gate/rails.rb', line 63 def params_schema_name action_name.to_sym end |
#params_schema_registered? ⇒ Boolean
55 56 57 |
# File 'lib/gate/rails.rb', line 55 def params_schema_registered? self.class.params_schemas.key?(params_schema_name) end |
#validate_params ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/gate/rails.rb', line 41 def validate_params result = params_schema.call(request.params) if result.success? @validated_params = result.output else handle_invalid_params(result.) end end |