Sha256: ca072aafabc7e6946748ca9b91f78788bab918377128bce565d2dd3a0bf14a58

Contents?: true

Size: 593 Bytes

Versions: 5

Compression:

Stored size: 593 Bytes

Contents

class BusList < ApplicationRecord
  validates_presence_of :name, :capacity
  validates_uniqueness_of :name

  has_many :questionnaires

  strip_attributes

  def full?
    passengers.count >= capacity
  end

  def passengers
    questionnaires.where("acc_status = 'rsvp_confirmed'").order("last_name ASC")
  end

  def schools
    passengers.joins(:school).map(&:school).uniq
  end

  def checked_in_passengers
    passengers.select(&:checked_in?)
  end

  def boarded_passengers
    passengers.select(&:boarded_bus?)
  end

  def captains
    passengers.where(is_bus_captain: true)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
hackathon_manager-0.13.3 app/models/bus_list.rb
hackathon_manager-0.13.2 app/models/bus_list.rb
hackathon_manager-0.13.1 app/models/bus_list.rb
hackathon_manager-0.13.0 app/models/bus_list.rb
hackathon_manager-0.12.2 app/models/bus_list.rb