Module: BrighterPlanet::Flight::Characterization

Defined in:
lib/flight/characterization.rb

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/flight/characterization.rb', line 6

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