Sha256: 4f1538c92a99e57e7842d032214695bfcdcae8a1df8287f98bbbd823f86164a8

Contents?: true

Size: 634 Bytes

Versions: 4

Compression:

Stored size: 634 Bytes

Contents

module Puffer::PufferUser
  extend ActiveSupport::Concern
  include ActiveModel::SecurePassword

  included do
    attr_protected :password_digest
    has_secure_password

    validates :email, :uniqueness => true, :presence => true
    validates :password, :presence => true, :length => { :minimum => 6 }, :on => :create
  end

  def roles= value = []
    value = value.split(',').map(&:strip).map(&:presence) if value.is_a?(String)
    write_attribute(:roles, value.join(', '))
  end

  def roles_array
    roles.to_s.split(',').map(&:strip).map(&:presence)
  end

  def has_role? role
    roles_array.include?(role.to_s)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puffer-0.1.0 app/models/puffer/puffer_user.rb
puffer-0.0.32 app/models/puffer/puffer_user.rb
puffer-0.0.31 app/models/puffer/puffer_user.rb
puffer-0.0.30 app/models/puffer/puffer_user.rb