Sha256: 52ba0b2789379806c99be87d7bc6b7c5cd54421945256f5c7c69f1f252ceb220

Contents?: true

Size: 736 Bytes

Versions: 1

Compression:

Stored size: 736 Bytes

Contents

module Puffer
  module User
    module Base
      extend ActiveSupport::Concern

      included do
        include ActiveModel::SecurePassword

        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
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
puffer-0.1.1 lib/puffer/backends/models/user/base.rb