Sha256: ad25f9fdcd26f3aab37b083ee7e074289f1933c01a070a35f5aae6dee51c65ec

Contents?: true

Size: 1.16 KB

Versions: 6

Compression:

Stored size: 1.16 KB

Contents

require 'characterizable'

module BrighterPlanet
  module Flight
    module Characterization
      def self.included(base)
        base.send :include, Characterizable
        base.characterize do
          has :date, :trumps => :year
          has :year
          has :time_of_day
          has :origin_airport do |origin_airport|
            origin_airport.reveals :destination_airport, 
              :trumps => [:distance_class, :domesticity, :distance_estimate]
          end
          has :distance_class
          has :distance_estimate, :trumps => :distance_class, :measures => :length, :precision => 0
          has :domesticity
          has :airline
          has :trips
          has :emplanements_per_trip
          has :seat_class
          has :load_factor, :measures => :percentage
          has :seats_estimate, :range => 1..500
          has :aircraft_class, :trumps => [:propulsion, :fuel_type]
          has :aircraft, :trumps => [:propulsion, :aircraft_class, :seats_estimate, :fuel_type]
          has :propulsion, :trumps => :fuel_type

          has :creation_date, :hidden => true
        end
        base.add_implicit_characteristics
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
flight-0.0.18 lib/flight/characterization.rb
flight-0.0.17 lib/flight/characterization.rb
flight-0.0.16 lib/flight/characterization.rb
flight-0.0.14 lib/flight/characterization.rb
flight-0.0.13 lib/flight/characterization.rb
flight-0.0.12 lib/flight/characterization.rb