fossil 0.4.20 → 0.4.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.20
1
+ 0.4.22
data/fossil.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{fossil}
8
- s.version = "0.4.20"
8
+ s.version = "0.4.22"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Patrick Lardin, Daniel Sudol"]
@@ -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,
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 4
8
- - 20
9
- version: 0.4.20
8
+ - 22
9
+ version: 0.4.22
10
10
  platform: ruby
11
11
  authors:
12
12
  - Patrick Lardin, Daniel Sudol