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
|