module JSONAPI class Error attr_accessor :title, :detail, :id, :href, :code, :source, :links, :status, :meta def initialize(options = {}) @title = options[:title] @detail = options[:detail] @id = options[:id] @href = options[:href] @code = if JSONAPI.configuration.use_text_errors TEXT_ERRORS[options[:code]] else options[:code] end @source = options[:source] @links = options[:links] @status = Rack::Utils::SYMBOL_TO_STATUS_CODE[options[:status]].to_s @meta = options[:meta] end def to_hash hash = {} instance_variables.each {|var| hash[var.to_s.delete('@')] = instance_variable_get(var) unless instance_variable_get(var).nil? } hash end end class Warning attr_accessor :title, :detail, :code def initialize(options = {}) @title = options[:title] @detail = options[:detail] @code = if JSONAPI.configuration.use_text_errors TEXT_ERRORS[options[:code]] else options[:code] end end def to_hash hash = {} instance_variables.each {|var| hash[var.to_s.delete('@')] = instance_variable_get(var) unless instance_variable_get(var).nil? } hash end end end