class ZendeskAppsSupport::Validations::ValidationError
Constants
- KEY_PREFIX
Attributes
data[R]
key[R]
Public Class Methods
from_hash(hash)
click to toggle source
# File lib/zendesk_apps_support/validations/validation_error.rb, line 24 def from_hash(hash) fail DeserializationError.new(hash) unless hash['class'] klass = constantize(hash['class']) fail DeserializationError.new(hash) unless klass <= self klass.vivify(hash) end
from_json(json)
click to toggle source
Turn a JSON string into a ValidationError
.
# File lib/zendesk_apps_support/validations/validation_error.rb, line 16 def from_json(json) hash = JSON.load(json) fail DeserializationError.new(json) unless hash.is_a?(Hash) from_hash(hash) rescue JSON::ParserError, NameError raise DeserializationError.new(json) end
new(key, data = nil)
click to toggle source
# File lib/zendesk_apps_support/validations/validation_error.rb, line 45 def initialize(key, data = nil) @key, @data = key, symbolize_keys(data || {}) end
vivify(hash)
click to toggle source
Turn a Hash into a ValidationError
. Used within from_json.
# File lib/zendesk_apps_support/validations/validation_error.rb, line 32 def vivify(hash) new(hash['key'], hash['data']) end
Private Class Methods
constantize(klass)
click to toggle source
# File lib/zendesk_apps_support/validations/validation_error.rb, line 38 def constantize(klass) klass.to_s.split('::').inject(Object) { |klass, part| klass.const_get(part) } end
Public Instance Methods
as_json(*)
click to toggle source
# File lib/zendesk_apps_support/validations/validation_error.rb, line 57 def as_json(*) { 'class' => self.class.to_s, 'key' => key, 'data' => data } end
to_json(*)
click to toggle source
# File lib/zendesk_apps_support/validations/validation_error.rb, line 53 def to_json(*) JSON.generate(as_json) end
to_s()
click to toggle source
# File lib/zendesk_apps_support/validations/validation_error.rb, line 49 def to_s ZendeskAppsSupport::I18n.t("#{KEY_PREFIX}#{key}", data) end
Private Instance Methods
symbolize_keys(hash)
click to toggle source
# File lib/zendesk_apps_support/validations/validation_error.rb, line 67 def symbolize_keys(hash) hash.inject({}) do |result, (key, value)| result[key.to_sym] = value result end end