class NotionRuby::Error

Custom error class for rescuing from all Notion errors

Public Class Methods

new(response = nil) click to toggle source
Calls superclass method
# File lib/notion_ruby/errors.rb, line 9
def initialize(response = nil)
  @response = response
  super(build_error_message)
end

Public Instance Methods

response_body() click to toggle source
# File lib/notion_ruby/errors.rb, line 14
def response_body
  @response_body ||= (body = @response[:body]) && !body.empty? ? body : nil
end

Private Instance Methods

build_error_message() click to toggle source
# File lib/notion_ruby/errors.rb, line 20
def build_error_message
  return nil if @response.nil?

  "#{message}#{errors}"
end
errors() click to toggle source
# File lib/notion_ruby/errors.rb, line 30
def errors
  return if message.empty?

  if response_body["errors"]
    " #{response_body["errors"].to_a.map do |e|
      e["message"] || e["code"]
    end.join(", ")} "
  else
    ""
  end
end
message() click to toggle source
# File lib/notion_ruby/errors.rb, line 26
def message
  response_body ? (response_body["error"] || response_body["message"] || "").to_s : ""
end