Module: MuckUsers::Models::MuckAccessCode

Extended by:
ActiveSupport::Concern
Defined in:
lib/muck-users/models/access_code.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#bulk_valid?Boolean

Returns:

  • (Boolean)

Raises:

  • (ActiveRecord::RecordInvalid)


49
50
51
52
53
54
# File 'lib/muck-users/models/access_code.rb', line 49

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 ActiveRecord::RecordInvalid.new(self) if !errors.empty?
end

#expired?Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/muck-users/models/access_code.rb', line 68

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

#invalid?Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/muck-users/models/access_code.rb', line 60

def invalid?
  expired? || overused?
end

#overused?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/muck-users/models/access_code.rb', line 64

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

#use_codeObject



56
57
58
# File 'lib/muck-users/models/access_code.rb', line 56

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