Module: Gate::Rails
- Defined in:
- lib/gate/rails.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- ContractNotDefined =
Class.new(StandardError)
Instance Attribute Summary collapse
-
#claimed_params ⇒ Object
readonly
Returns the value of attribute claimed_params.
Class Method Summary collapse
Instance Method Summary collapse
- #_contract_name ⇒ Object
- #contract_registered? ⇒ Boolean
- #handle_invalid_params(_errors) ⇒ Object
- #verify_contract ⇒ Object
Instance Attribute Details
#claimed_params ⇒ Object (readonly)
Returns the value of attribute claimed_params.
5 6 7 |
# File 'lib/gate/rails.rb', line 5 def claimed_params @claimed_params end |
Class Method Details
.included(base) ⇒ Object
9 10 11 |
# File 'lib/gate/rails.rb', line 9 def self.included(base) base.send(:extend, ClassMethods) end |
Instance Method Details
#_contract_name ⇒ Object
65 66 67 |
# File 'lib/gate/rails.rb', line 65 def _contract_name action_name.to_sym end |
#contract_registered? ⇒ Boolean
61 62 63 |
# File 'lib/gate/rails.rb', line 61 def contract_registered? self.class._contracts.key?(_contract_name) end |
#handle_invalid_params(_errors) ⇒ Object
57 58 59 |
# File 'lib/gate/rails.rb', line 57 def handle_invalid_params(_errors) head :bad_request end |
#verify_contract ⇒ Object
47 48 49 50 51 52 53 54 55 |
# File 'lib/gate/rails.rb', line 47 def verify_contract result = self.class.contract_for(_contract_name).call(request.params) if result.success? @claimed_params = result.to_h else send(self.class.handler_for(_contract_name), result.errors.to_h) end end |