Class: RubyAPI::Response
- Inherits:
-
Object
- Object
- RubyAPI::Response
- Defined in:
- lib/ruby_api/response.rb
Overview
Response
Constant Summary collapse
- FAIL =
500- OK =
200- DEFAULT_HEADERS =
{ 'Content-Type' => 'application/json; charset=utf-8' }.freeze
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.error(data) ⇒ Object
14 15 16 |
# File 'lib/ruby_api/response.rb', line 14 def error(data) new(data, error: true) end |
.exception(err) ⇒ Object
18 19 20 21 22 |
# File 'lib/ruby_api/response.rb', line 18 def exception(err) data = { message: err. } data[:backtrace] = err.backtrace if RubyAPI.development? new(data, error: true) end |
.ok(data) ⇒ Object
24 25 26 |
# File 'lib/ruby_api/response.rb', line 24 def ok(data) new(data) end |
.operation(result) ⇒ Object
28 29 30 31 |
# File 'lib/ruby_api/response.rb', line 28 def operation(result) return new(result['errors'], error: true) if result.failure? new(result['result']) end |
Instance Method Details
#data ⇒ Object
50 51 52 |
# File 'lib/ruby_api/response.rb', line 50 def data @data.is_a?(String) ? @data : @data.to_json end |
#failure? ⇒ Boolean
42 43 44 |
# File 'lib/ruby_api/response.rb', line 42 def failure? @error end |
#headers ⇒ Object
38 39 40 |
# File 'lib/ruby_api/response.rb', line 38 def headers @headers || DEFAULT_HEADERS end |
#status ⇒ Object
34 35 36 |
# File 'lib/ruby_api/response.rb', line 34 def status success? ? OK : (@status || FAIL) end |
#success? ⇒ Boolean
46 47 48 |
# File 'lib/ruby_api/response.rb', line 46 def success? !failure? end |