Repository URL to install this package:
|
Version:
4.0.0.pre.3 ▾
|
module Core
class Booking < ActiveRecord::Base
include TrialConcern
STATES = %w(open completed cancelled)
PAYMENT_TYPES = %w(unknown none card pass trial)
belongs_to :event
belongs_to :user
validates :event, presence: true,
uniqueness: { scope: :user,
message: 'can only be booked once '\
'by a user' }
validates :user, presence: true
validates :state, inclusion: { in: STATES,
message: '%{value} is not a valid state' }
validates :payment_type, inclusion: { in: PAYMENT_TYPES,
message: '%{value} is not a valid '\
'payment type' }
default_scope { order('created_at') }
scope :open, -> { where(state: 'open') }
scope :completed, -> { where(state: 'completed') }
scope :cancelled, -> { where(state: 'cancelled') }
def self.states
Rails.logger.warn 'Calling `Booking.states` is deprecated. '\
'Use `Booking::STATES` instead.'
STATES
end
def self.payment_types
Rails.logger.warn 'Calling `Booking.payment_types` is deprecated. '\
'Use `Booking::PAYMENT_TYPES` instead.'
PAYMENT_TYPES
end
end
end