fossil 0.4.20 → 0.4.22
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/fossil.gemspec +1 -1
- data/lib/models/trip_leg.rb +18 -0
- data/spec/models/trip_leg_spec.rb +59 -0
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.22
|
data/fossil.gemspec
CHANGED
data/lib/models/trip_leg.rb
CHANGED
@@ -36,14 +36,32 @@ class TripLeg < Sequel::Model(:'trip legs')
|
|
36
36
|
proc {
|
37
37
|
if !arrival_icao.blank?
|
38
38
|
Airport.filter(:'icao'=> arrival_icao)
|
39
|
+
elsif !arrival_airport_id.blank? and !arrival_ap_prefix.blank?
|
40
|
+
Airport.filter(:'airport id prefix'.like("%#{arrival_ap_prefix}"), :'airport id'.like("%#{arrival_airport_id}"))
|
39
41
|
else
|
42
|
+
Airport.filter(:'icao'=>'FAKE').limit(1)
|
43
|
+
end
|
44
|
+
}
|
45
|
+
|
46
|
+
many_to_one :departure_airport, :class=>:Airport, :key=>nil, :dataset=>
|
47
|
+
proc {
|
48
|
+
if !arrival_icao.blank?
|
49
|
+
Airport.filter(:'icao'=> arrival_icao)
|
50
|
+
elsif !arrival_airport_id.blank? and !arrival_ap_prefix.blank?
|
40
51
|
Airport.filter(:'airport id prefix'.like("%#{arrival_ap_prefix}"), :'airport id'.like("%#{arrival_airport_id}"))
|
52
|
+
else
|
53
|
+
Airport.filter(:'icao'=>'FAKE').limit(1)
|
41
54
|
end
|
42
55
|
}
|
43
56
|
|
44
57
|
many_to_one :departure_airport, :class=>:Airport, :key=>:departure_icao, :primary_key=>:icao #:key=>nil, :dataset=>proc{ ref_method = self[:'depart-icao/iata/id']; case ref_method; when 1 then Airport.filter(:'icao'=>self[:'departure icao']); when 2 then Airport.filter(:'iata'=>self[:'departure iata']); else Airport.filter(:'airport id prefix'.like("%#{self[:'depart a/p prefix']}"), :'airport id'.like("%#{self[:'depart airport id']}")); end }
|
58
|
+
|
59
|
+
many_to_one :departure_fuel_vendor, :class=>:Vendor, :key=>:dep_fuel_vendor, :primary_key=>:'vendor id'
|
60
|
+
many_to_one :arrival_fuel_vendor, :class=>:Vendor, :key=>:arr_fuel_vendor, :primary_key=>:'vendor id'
|
61
|
+
|
45
62
|
many_to_one :alternate_arrival_airport, :class=>:Airport, :key=>nil, :dataset=>proc{ Airport.filter(:'airport id prefix'.like("%#{self[:'arr alt prefix']}"), :'airport id'.like( "%#{self[:'arr alt id']}"))}
|
46
63
|
many_to_one :alternate_departure_airport, :class=>:Airport, :key=>nil, :dataset=>proc{ Airport.filter(:'airport id prefix'.like("%#{self[:'dep alt prefix']}"), :'airport id'.like( "%#{self[:'dep alt id']}"))}
|
64
|
+
|
47
65
|
many_to_one :departure_fbo_comment_value, :class=>:Comment, :key=>nil, :dataset=>proc { Comment.filter( :"kid - date"=>self[:"kid - date"], :"kid - time"=>self[:"kid - time"], :"kid - user"=>self[:"kid - user"], :"kid - mult"=>self[:"kid - mult"], :"kid - comm"=>43) }
|
48
66
|
many_to_one :arrival_fbo_comment_value, :class=>:Comment, :key=>nil, :dataset=>proc { Comment.filter( :"kid - date"=>self[:"kid - date"], :"kid - time"=>self[:"kid - time"], :"kid - user"=>self[:"kid - user"], :"kid - mult"=>self[:"kid - mult"], :"kid - comm"=>34) }
|
49
67
|
many_to_one :departure_catering_comment, :class=>:Comment, :key=>nil, :dataset=>proc { Comment.filter( :"kid - date"=>self[:"kid - date"], :"kid - time"=>self[:"kid - time"], :"kid - user"=>self[:"kid - user"], :"kid - mult"=>self[:"kid - mult"], :"kid - comm"=>37) }
|
@@ -2,6 +2,65 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
2
|
|
3
3
|
describe TripLeg do
|
4
4
|
|
5
|
+
describe "arrival_airport assoc works" do
|
6
|
+
before :all do
|
7
|
+
set_fos_db([Airport])
|
8
|
+
end
|
9
|
+
|
10
|
+
it "when there is no arrival_icao" do
|
11
|
+
trip_leg = TripLeg.new(:arrival_icao=>'')
|
12
|
+
trip_leg.arrival_airport.should == nil
|
13
|
+
end
|
14
|
+
|
15
|
+
it "when there is no arrival_ap_prefix or arrival_airport_id" do
|
16
|
+
trip_leg = TripLeg.new(:arrival_icao=>'', :arrival_ap_prefix=>'', :arrival_airport_id=>'')
|
17
|
+
trip_leg.arrival_airport.should == nil
|
18
|
+
end
|
19
|
+
|
20
|
+
it "when there is an arrival_icao" do
|
21
|
+
trip_leg = TripLeg.new(:arrival_icao=>'KSFO')
|
22
|
+
trip_leg.arrival_airport.should_not == nil
|
23
|
+
end
|
24
|
+
|
25
|
+
it "when there is no arrival_icao but there is arrival_ap_prefix and arrival_airport_id" do
|
26
|
+
trip_leg = TripLeg.new(:arrival_icao=>'', :arrival_ap_prefix=>'K', :arrival_airport_id=>'SFO')
|
27
|
+
trip_leg.arrival_airport.should_not == nil
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
it "ebt_time method produces correct Time with minutes" do
|
32
|
+
dept_date_act_gmt = Date.new(2000, 1, 1)
|
33
|
+
tl = TripLeg.new(:arrival_date_gmt=>dept_date_act_gmt.to_fos_days, :eta_gmt=>40,
|
34
|
+
:dept_date_gmt=>dept_date_act_gmt.to_fos_days, :etd_gmt=>20)
|
35
|
+
tl.ebt_time.should == Time.from_minutes(20)
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "departure_airport assoc works" do
|
39
|
+
before :all do
|
40
|
+
set_fos_db([Airport])
|
41
|
+
end
|
42
|
+
|
43
|
+
it "when there is no arrival_icao" do
|
44
|
+
trip_leg = TripLeg.new(:arrival_icao=>'')
|
45
|
+
trip_leg.arrival_airport.should == nil
|
46
|
+
end
|
47
|
+
|
48
|
+
it "when there is no arrival_ap_prefix or arrival_airport_id" do
|
49
|
+
trip_leg = TripLeg.new(:arrival_icao=>'', :arrival_ap_prefix=>'', :arrival_airport_id=>'')
|
50
|
+
trip_leg.arrival_airport.should == nil
|
51
|
+
end
|
52
|
+
|
53
|
+
it "when there is an arrival_icao" do
|
54
|
+
trip_leg = TripLeg.new(:arrival_icao=>'KSFO')
|
55
|
+
trip_leg.arrival_airport.should_not == nil
|
56
|
+
end
|
57
|
+
|
58
|
+
it "when there is no arrival_icao but there is arrival_ap_prefix and arrival_airport_id" do
|
59
|
+
trip_leg = TripLeg.new(:arrival_icao=>'', :arrival_ap_prefix=>'K', :arrival_airport_id=>'SFO')
|
60
|
+
trip_leg.arrival_airport.should_not == nil
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
5
64
|
it "ebt_time method produces correct Time with minutes" do
|
6
65
|
dept_date_act_gmt = Date.new(2000, 1, 1)
|
7
66
|
tl = TripLeg.new(:arrival_date_gmt=>dept_date_act_gmt.to_fos_days, :eta_gmt=>40,
|