module BrighterPlanet
  module Flight
    extend self

    def included(base)
      require 'flight/carbon_model'
      require 'flight/characterization'
      require 'flight/data'
      require 'flight/summarization'

      base.send :include, BrighterPlanet::Flight::CarbonModel
      base.send :include, BrighterPlanet::Flight::Characterization
      base.send :include, BrighterPlanet::Flight::Data
      base.send :include, BrighterPlanet::Flight::Summarization
    end
    def flight_model
      if Object.const_defined? 'Flight'
        Flight
      elsif Object.const_defined? 'FlightRecord'
        FlightRecord
      else
        raise 'There is no flight model'
      end
    end
  end
end