class SimplerCommand::Errors
Provides an Errors
implementation similar to ActiveModel::Errors
Public Instance Methods
add(key, value, _opts = {})
click to toggle source
# File lib/simpler_command/errors.rb, line 6 def add(key, value, _opts = {}) self[key] ||= [] self[key] << value self[key].uniq! end
add_all(errors_hash)
click to toggle source
# File lib/simpler_command/errors.rb, line 12 def add_all(errors_hash) errors_hash.each do |key, values| Array(values).each do |value| add key, value end end end
as_json(options = nil)
click to toggle source
Allow ActiveSupport to render errors similar to ActiveModel::Errors
# File lib/simpler_command/errors.rb, line 31 def as_json(options = nil) {}.tap do |output| each do |field, value| output[field] ||= [] output[field] << value end end.as_json(options) end
each() { |field, message| ... }
click to toggle source
# File lib/simpler_command/errors.rb, line 20 def each each_key do |field| self[field].each { |message| yield field, message } end end
full_messages()
click to toggle source
# File lib/simpler_command/errors.rb, line 26 def full_messages map { |attribute, message| full_message(attribute, message) } end
Private Instance Methods
full_message(attribute, message)
click to toggle source
# File lib/simpler_command/errors.rb, line 42 def full_message(attribute, message) return message if attribute == :base attr_name = StringUtils.humanize(attribute.to_s) [attr_name, message].join(" ") end