Sha256: 4c55dc7672d68fe378b719a72f71e47dc029face6ed21d9ec2b22b29ca862607
Contents?: true
Size: 783 Bytes
Versions: 2
Compression:
Stored size: 783 Bytes
Contents
module SimpleCommand class NotImplementedError < ::StandardError; end class Errors < Hash def add(key, value, _opts = {}) self[key] ||= [] self[key] << value self[key].uniq! end def add_multiple_errors(errors_hash) errors_hash.each do |key, values| values.each { |value| add key, value } end end def each each_key do |field| self[field].each { |message| yield field, message } end end def full_messages map { |attribute, message| full_message(attribute, message) } end private def full_message(attribute, message) return message if attribute == :base attr_name = attribute.to_s.tr('.', '_').capitalize "%s %s" % [attr_name, message] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
simple_command-0.2.0 | lib/simple_command/errors.rb |
simple_command-0.1.0 | lib/simple_command/errors.rb |