# == Schema Information # # Table name: users # # id :integer not null, primary key # name :string(255) # last_name :string(255) # balance :integer default(0) # nickname :string(255) # created_at :datetime # updated_at :datetime # email :string(255) default(""), not null # encrypted_password :string(255) default(""), not null # reset_password_token :string(255) # reset_password_sent_at :datetime # remember_created_at :datetime # sign_in_count :integer default(0), not null # current_sign_in_at :datetime # last_sign_in_at :datetime # current_sign_in_ip :string(255) # last_sign_in_ip :string(255) # confirmation_token :string(255) # confirmed_at :datetime # confirmation_sent_at :datetime # unconfirmed_email :string(255) # class User < ActiveRecord::Base devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable has_many :orders, -> { includes :products } validates :name, presence: true validates :last_name, presence: true validates :nickname, presence: true, uniqueness: true def full_name "#{name} #{last_name}" end def pay(amount) self.increment!(:balance, - amount) end end