Module: ValidationIssues::ActsAsValidationIssues

Extended by:
ActiveSupport::Concern
Defined in:
lib/validation_issues/acts_as_validation_issues.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#log_successful_validation!(form_name, options = {}) ⇒ Object



36
37
38
39
40
41
42
43
44
# File 'lib/validation_issues/acts_as_validation_issues.rb', line 36

def log_successful_validation!(form_name, options = {})
  vi = ValidationIssue.find_by_form_name_and_issue_type(form_name, self.class.to_s)
  vi ||= ValidationIssue.new(:form_name => form_name, :issue_type => self.class.to_s)
  vi.notes ||= ''
  vi.issue_count ||= 0
  vi.issue_hash ||= {:no_issues => ''}
  vi.save
  vi.increment_success_count!
end

#log_validation_issue!(form_name, options = {}) ⇒ Object

Instance Methods



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/validation_issues/acts_as_validation_issues.rb', line 15

def log_validation_issue!(form_name, options = {})
  if self.errors
    vi = ValidationIssue.find_by_form_name_and_issue_type(form_name, self.class.to_s)
    vi ||= ValidationIssue.new(:form_name => form_name, :issue_type => self.class.to_s)

    self.errors.map {|k,v| k }.uniq.each do |error_field|
      vi.issue_hash = {} if vi.issue_hash.blank?
      vi.issue_hash[error_field] ||= 0
      vi.issue_hash[error_field] = vi.issue_hash[error_field] + 1
    end

    vi.notes ||= ''
    if options[:notes]
      vi.notes = vi.notes + ' \n ' + options[:notes]
    end
    vi.issue_count ||= 0
    vi.save
    vi.increment_issue_count!
  end
end