Module: ActiveRecord::Acts::MuckAccessCode::InstanceMethods

Defined in:
lib/active_record/acts/muck_access_code.rb

Instance Method Summary collapse

Instance Method Details

#bulk_valid?Boolean

Returns:

  • (Boolean)

Raises:

  • (RecordInvalid)


59
60
61
62
63
64
# File 'lib/active_record/acts/muck_access_code.rb', line 59

def bulk_valid?
  errors.add(:emails, I18n.translate('muck.users.validation_are_required')) if self.emails.blank? && !self.send_requests
  errors.add(:subject, I18n.translate('muck.users.validation_is_required')) if self.subject.blank?
  errors.add(:message, I18n.translate('muck.users.validation_is_required')) if self.message.blank?
  raise RecordInvalid.new(self) if !errors.empty?
end

#expired?Boolean

Returns:

  • (Boolean)


78
79
80
# File 'lib/active_record/acts/muck_access_code.rb', line 78

def expired?
  self.expires_at? && self.expires_at < Time.now
end

#invalid?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/active_record/acts/muck_access_code.rb', line 70

def invalid?
  expired? || overused?
end

#overused?Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/active_record/acts/muck_access_code.rb', line 74

def overused?
  (self.uses >= self.use_limit) && !self.unlimited
end

#use_codeObject



66
67
68
# File 'lib/active_record/acts/muck_access_code.rb', line 66

def use_code
  self.update_attribute(:uses, self.uses + 1)
end