class ActiveResource::Errors
@private
Public Instance Methods
from_json_api(json, save_cache = false)
click to toggle source
# File lib/esp/extensions/active_resource/validations.rb, line 17 def from_json_api(json, save_cache = false) raw_errors = decoded_errors(json) errors = meta_errors(raw_errors) if errors.present? from_hash errors, save_cache else from_array raw_errors.map { |e| e['title'] } end end
Private Instance Methods
decoded_errors(json)
click to toggle source
# File lib/esp/extensions/active_resource/validations.rb, line 29 def decoded_errors(json) Array(Hash(ActiveSupport::JSON.decode(json))['errors']) rescue [] end
meta_errors(raw_errors)
click to toggle source
# File lib/esp/extensions/active_resource/validations.rb, line 35 def meta_errors(raw_errors) {}.tap do |errors| raw_errors.each do |error| next unless error['meta'] error['meta'].map do |attr, message| friendly_attr = attr.tr('.', ' ') errors[friendly_attr] ||= [] errors[friendly_attr] << message end end end end