class Changeset

Attributes

changes[R]
errors[R]

Public Class Methods

new(params) click to toggle source
# File lib/changeset.rb, line 9
def initialize(params) 
  @changes = symbolized_keys(params)
  @errors = {}
  @changes.keys.each do |k|
    @errors[k] = {} 
  end
end

Public Instance Methods

valid?() click to toggle source
# File lib/changeset.rb, line 17
def valid? 
  @errors.values.all?(&:empty?)
end

Private Instance Methods

generate_error_for(key, validation, message) click to toggle source
# File lib/changeset.rb, line 23
def generate_error_for(key, validation, message)
  if @errors[key].nil?
    @errors[key] = {}
  end
  @errors[key][validation] = message || Messages.const_get("#{validation}_MESSAGE".upcase.to_sym)
end
symbolized_keys(hash) click to toggle source
# File lib/changeset.rb, line 30
def symbolized_keys(hash) 
  sym_keys = {}
  hash.each do |k, v|
    sym_keys[k.to_sym] = v
  end
  sym_keys
end