module ActsAsDigestedOn::ClassMethods

Public Instance Methods

acts_as_digested_on(attr_names, options = {}) click to toggle source
# File lib/acts_as_digested_on.rb, line 49
def acts_as_digested_on(attr_names, options = {})
  options = options.symbolize_keys

  attr_names = Array(attr_names).flatten
  digest_column = options.delete(:digest_column) || 'digest'
  unique = options.key?(:unique) ? options.delete(:unique) : true

  class_attribute :acts_as_digested_on_vars
  self.acts_as_digested_on_vars = {
    :attr_names => attr_names,
    :digest_column => digest_column,
    :unique => unique,
    :validates_uniqueness_of_options => options
  }

  include InstanceMethods
  include Callbacks
  include Validations if self.acts_as_digested_on_vars[:unique]
end