Sha256: d3df8852cdccc48751160376671db8f8375ceb0749da01cb5a6380a86b6ca70b

Contents?: true

Size: 1.08 KB

Versions: 4

Compression:

Stored size: 1.08 KB

Contents

class Basket < ActiveRecord::Base
  default_scope { order('baskets.id DESC') }
  scope :will_expire, lambda {|date| where('created_at < ?', date)}
  belongs_to :user, validate: true
  has_many :accepts

  enju_circulation_basket_model if defined?(EnjuCirculation)

  validates_associated :user, on: :create
  # 貸出完了後にかごのユーザidは破棄する
  validates_presence_of :user, on: :create
  validate :check_suspended

  attr_accessor :user_number

  def check_suspended
    if user
      errors[:base] << I18n.t('basket.this_account_is_suspended') if user.locked_at
    else
      errors[:base] << I18n.t('user.not_found')
    end
  end

  def self.expire
    Basket.will_expire(Time.zone.now.beginning_of_day).destroy_all
    logger.info "#{Time.zone.now} baskets expired!"
  end
end

# == Schema Information
#
# Table name: baskets
#
#  id           :integer          not null, primary key
#  user_id      :integer
#  note         :text
#  lock_version :integer          default(0), not null
#  created_at   :datetime         not null
#  updated_at   :datetime         not null
#

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
enju_library-0.1.0.pre43 app/models/basket.rb
enju_library-0.1.0.pre42 app/models/basket.rb
enju_library-0.1.0.pre41 app/models/basket.rb
enju_library-0.1.0.pre40 app/models/basket.rb