Sha256: 7128c4fe5052564fab08dd5654b9368af09c83d19523d845fa3cfc302d975a3b
Contents?: true
Size: 969 Bytes
Versions: 1
Compression:
Stored size: 969 Bytes
Contents
# frozen_string_literal: true require 'active_support/core_ext/hash' module ValidationHelpers extend ActiveSupport::Concern def validation_errors @validation_errors ||= flash[:validation_errors] || {} end def has_validation_errors? validation_errors.length > 0 end def old_values @old_values ||= flash[:old_values] || {} end def old_value(field, default = nil) # Transform Rails foo[bar] convention to foo.bar field = field.gsub('[', '.').gsub(']', '') field = field.split('.') result = old_values.deep_stringify_keys while (key = field.shift) key = key.to_i if Array === result if Hash === result[key] || Array === result[key] || field.empty? result = result[key] end end result || default end def field_errors(field) raise ArgumentError, 'Expected a block.' unless block_given? errors = validation_errors[field] || [] errors.each { |e| yield(e) } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mini_defender-0.3.10 | lib/mini_defender/validation_helpers.rb |