Class: Enkel::Action
- Inherits:
-
Object
- Object
- Enkel::Action
- Defined in:
- lib/enkel/action.rb
Defined Under Namespace
Classes: NotImplementedError
Constant Summary collapse
- STATUSES =
{ continue: 100, switching_protocols: 101, processing: 102, early_hints: 103, ok: 200, created: 201, accepted: 202, non_authoritative_information: 203, no_content: 204, reset_content: 205, partial_content: 206, multi_status: 207, already_reported: 208, im_used: 226, multiple_choices: 300, moved_permanently: 301, found: 302, see_other: 303, not_modified: 304, use_proxy: 305, "(unused)": 306, temporary_redirect: 307, permanent_redirect: 308, bad_request: 400, unauthorized: 401, payment_required: 402, forbidden: 403, not_found: 404, method_not_allowed: 405, not_acceptable: 406, proxy_authentication_required: 407, request_timeout: 408, conflict: 409, gone: 410, length_required: 411, precondition_failed: 412, payload_too_large: 413, uri_too_long: 414, unsupported_media_type: 415, range_not_satisfiable: 416, expectation_failed: 417, misdirected_request: 421, unprocessable_entity: 422, locked: 423, failed_dependency: 424, too_early: 425, upgrade_required: 426, precondition_required: 428, too_many_requests: 429, request_header_fields_too_large: 431, unavailable_for_legal_reasons: 451, internal_server_error: 500, not_implemented: 501, bad_gateway: 502, service_unavailable: 503, gateway_timeout: 504, http_version_not_supported: 505, variant_also_negotiates: 506, insufficient_storage: 507, loop_detected: 508, bandwidth_limit_exceeded: 509, not_extended: 510, network_authentication_required: 511 }.freeze
Instance Attribute Summary collapse
-
#body ⇒ Object
Returns the value of attribute body.
-
#status ⇒ Object
Returns the value of attribute status.
Class Method Summary collapse
Instance Method Summary collapse
- #call ⇒ Object
- #failure? ⇒ Boolean
- #respond(status = nil, object = nil) ⇒ Object
- #success? ⇒ Boolean
Instance Attribute Details
#body ⇒ Object
Returns the value of attribute body.
70 71 72 |
# File 'lib/enkel/action.rb', line 70 def body @body end |
#status ⇒ Object
Returns the value of attribute status.
70 71 72 |
# File 'lib/enkel/action.rb', line 70 def status @status end |
Class Method Details
.call(attributes = {}) ⇒ Object
73 74 75 76 77 |
# File 'lib/enkel/action.rb', line 73 def call(attributes = {}) instance = new(**attributes) instance.call instance end |
Instance Method Details
#call ⇒ Object
80 81 82 |
# File 'lib/enkel/action.rb', line 80 def call raise Enkel::Action::NotImplementedError end |
#failure? ⇒ Boolean
96 97 98 |
# File 'lib/enkel/action.rb', line 96 def failure? !success? end |
#respond(status = nil, object = nil) ⇒ Object
84 85 86 87 |
# File 'lib/enkel/action.rb', line 84 def respond(status = nil, object = nil) self.status = status if status self.body = object if object end |
#success? ⇒ Boolean
89 90 91 92 93 94 |
# File 'lib/enkel/action.rb', line 89 def success? return @success if defined?(@success) code = self.status.is_a?(Integer) ? self.status : STATUSES[self.status] @success = code.between?(100, 399) ? true : false end |