svmartin
1/26/2017 - 8:26 PM

employee.rb

module Pilotable
  def pilot_plane
    "...can fly planes."
  end
end

module InAirCertified
  def in_air_certified
    "...can help with in-air emergencies."
  end
end

module CustomerCertified
  def customer_certified
    "...can help public customers."
  end
end

module Operateable
  def operate_ground_vehicles
    "...can operate ground vehicles"
  end
end

class Employee
  attr_reader :name

  def initialize(name, id)
    @name = name
    @id = id
  end
end

class Pilot < Employee
  include Pilotable
  include InAirCertified
  include CustomerCertified
end

class FlightAttendant < Employee
  include InAirCertified
  include CustomerCertified
end

class Manager < Employee
  include CustomerCertified
  include Operateable
end

class CounterAttendant < Employee
  include CustomerCertified
end

class GroundCrew < Employee
  include Operateable
end