Sha256: c9e38c4bc5b6f4dd58a6dc7f20b848f206702e10e43e8f790883b57caa1fceea

Contents?: true

Size: 1.22 KB

Versions: 7

Compression:

Stored size: 1.22 KB

Contents

class User < ActiveRecord::Base
  after_create :create_profile
  belongs_to :role
  has_many :blogs, :dependent => :destroy
  has_one :profile, :dependent => :destroy
  has_many :galleries, :dependent => :destroy

  def create_profile
    Profile.create(:user=>self) unless self.profile
  end

  def role?(role)
    if role.kind_of?(Role)
      return role==self.role
    elsif role.is_numeric?
      return self.role_id==role
    else
      return self.role.name.underscore==role.underscore
    end
  end

  def role=(role)
    if role.kind_of? Role
      self.role_id = role.id
    else
      role = role.to_s.camelize
      if role.is_numeric?
        self.role_id= role
      else
        self.role_id= Role.find_by_name(role).id
      end
    end
  end

  def confirm!
    self.confirmed_at = DateTime::now
    save
  end

  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable, :lockable and :timeoutable
  devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :token_authenticatable, :confirmable, :lockable, :timeoutable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
wheels-0.0.25 app/models/user.rb
wheels-0.0.24 app/models/user.rb
wheels-0.0.23 app/models/user.rb
wheels-0.0.22 app/models/user.rb
wheels-0.0.21 app/models/user.rb
wheels-0.0.20 app/models/user.rb
wheels-0.0.19 app/models/user.rb