Sha256: 4a7ee19848d4246ca11dc058676dcb72a43fce755e92a015445d7705a603fcf1

Contents?: true

Size: 660 Bytes

Versions: 1

Compression:

Stored size: 660 Bytes

Contents

class ValidationError < StandardError
end

module NotifyIfInvalid
  def self.included(base)
    base.extend ClassMethods  
  end

  module ClassMethods
    def notify_if_invalid
      after_validation :check_if_invalid
      
      include InstanceMethods
      extend SingletonMethods
    end
  end

  module SingletonMethods
  end

  module InstanceMethods
    def check_if_invalid
      return if self.errors.empty?
      message = "#{self.class.to_s} #{self.errors.full_messages.to_sentence}: #{self.inspect}"
      error = ValidationError.new message
      HoptoadNotifier.notify error
    end
  end
end
ActiveRecord::Base.send(:include, NotifyIfInvalid)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
notify_if_invalid-0.1.1 lib/notify_if_invalid.rb