fossil 0.3.44 → 0.3.45
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 +1 -1
- data/fossil.gemspec +4 -2
- data/lib/fossil.rb +6 -11
- data/lib/models/ac_qualification.rb +2 -2
- data/lib/models/aircraft.rb +4 -4
- data/lib/models/aircraft_cost.rb +2 -2
- data/lib/models/airport.rb +11 -10
- data/lib/models/airport_fbo.rb +2 -2
- data/lib/models/airport_fuel.rb +5 -5
- data/lib/models/code.rb +3 -2
- data/lib/models/crew_activity.rb +4 -4
- data/lib/models/crew_leg.rb +3 -3
- data/lib/models/crew_trip.rb +2 -1
- data/lib/models/group_cost.rb +2 -1
- data/lib/models/one_cost.rb +2 -1
- data/lib/models/passenger.rb +2 -1
- data/lib/models/quote.rb +4 -2
- data/lib/models/quote_leg.rb +1 -1
- data/lib/models/trip.rb +4 -4
- data/lib/models/trip_leg.rb +2 -2
- data/lib/models/trip_passenger.rb +2 -1
- data/lib/models/user_information.rb +2 -1
- data/lib/models/vendor_document.rb +2 -1
- data/lib/sequel/model_patch.rb +4 -3
- data/spec/models/quote.rb +11 -0
- data/spec/models/trip_leg_spec.rb +14 -13
- data/spec/sequel/model_patch_spec.rb +23 -0
- data/spec/spec_helper.rb +1 -1
- metadata +4 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.45
|
data/fossil.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{fossil}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.45"
|
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"]
|
12
|
-
s.date = %q{2010-04-
|
12
|
+
s.date = %q{2010-04-25}
|
13
13
|
s.description = %q{Access FOS/betrieve db with this Sequel based orm wrapper}
|
14
14
|
s.email = %q{plardin@xojet.com}
|
15
15
|
s.files = [
|
@@ -132,6 +132,7 @@ Gem::Specification.new do |s|
|
|
132
132
|
"spec/helper_classes.rb",
|
133
133
|
"spec/helper_methods.rb",
|
134
134
|
"spec/models/code_spec.rb",
|
135
|
+
"spec/models/quote.rb",
|
135
136
|
"spec/models/trip_leg_spec.rb",
|
136
137
|
"spec/models/trip_spec.rb",
|
137
138
|
"spec/models/vendor_document_spec.rb",
|
@@ -164,6 +165,7 @@ Gem::Specification.new do |s|
|
|
164
165
|
"spec/models/code_spec.rb",
|
165
166
|
"spec/models/trip_leg_spec.rb",
|
166
167
|
"spec/models/vendor_document_spec.rb",
|
168
|
+
"spec/models/quote.rb",
|
167
169
|
"spec/models/trip_spec.rb",
|
168
170
|
"spec/be_model_with_values_matcher.rb"
|
169
171
|
]
|
data/lib/fossil.rb
CHANGED
@@ -1,22 +1,17 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
|
3
|
-
|
3
|
+
begin
|
4
4
|
gem 'sequel', '=3.10.0'
|
5
5
|
require('sequel')
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
#end
|
11
|
-
#
|
6
|
+
rescue LoadError => e
|
7
|
+
raise("To use Fossil you need the sequel gem:\n '$ sudo gem install sequel -v=3.10.0'")
|
8
|
+
end
|
9
|
+
|
12
10
|
begin
|
13
11
|
gem 'activesupport', '=2.3.5'
|
14
12
|
require('active_support')
|
15
13
|
rescue LoadError => e
|
16
|
-
|
17
|
-
warn 'To use Fossil you need the active_support gem:'
|
18
|
-
warn '$ sudo gem install active_support -v=2.3.5'
|
19
|
-
exit(1)
|
14
|
+
raise "To use Fossil you need the active_support gem: '$ sudo gem install active_support -v=2.3.5'"
|
20
15
|
end
|
21
16
|
|
22
17
|
dir = File.dirname(__FILE__)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class ACQualification < Sequel::Model(:'a/c qualification')
|
2
2
|
|
3
|
-
#### BEGIN GENERATED SECTION ####
|
4
|
-
|
3
|
+
#### BEGIN GENERATED SECTION ####
|
4
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
5
5
|
|
6
6
|
column_alias :aircraft_type_id, :'aircraft type id'
|
7
7
|
column_alias :alert_date, :'alert date'
|
data/lib/models/aircraft.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
class Aircraft < Sequel::Model(:'aircraft')
|
2
2
|
# NOTE - Count of instances as of 06/01/2009 => 83
|
3
|
-
|
3
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
4
|
+
|
4
5
|
# One to many to one associations with atomic primary keys
|
5
6
|
one_to_many :trips, :class=>:Trip, :key=>:'aircraft id', :primary_key=>:'aircraft id'
|
6
7
|
one_to_many :trip_legs, :class=>:TripLeg, :key=>:'aircraft id', :primary_key=>:'aircraft id'
|
@@ -8,10 +9,9 @@ class Aircraft < Sequel::Model(:'aircraft')
|
|
8
9
|
code_association :company_code_value, :company_code, :company
|
9
10
|
code_association :base_code_value, :base_code, :location
|
10
11
|
|
11
|
-
#### BEGIN GENERATED SECTION ####
|
12
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
12
|
+
#### BEGIN GENERATED SECTION ####
|
13
13
|
|
14
|
-
|
14
|
+
column_alias :ac_110v, :'ac 110v'
|
15
15
|
column_alias :ac_833_mhz, :'ac 833 mhz'
|
16
16
|
column_alias :ac_aed_med, :'ac aed med'
|
17
17
|
column_alias :ac_afis, :'ac afis'
|
data/lib/models/aircraft_cost.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
class AircraftCost < Sequel::Model(:'aircraft costs')
|
2
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
2
3
|
|
3
|
-
#### BEGIN GENERATED SECTION ####
|
4
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
4
|
+
#### BEGIN GENERATED SECTION ####
|
5
5
|
|
6
6
|
column_alias :aircraft_id, :'aircraft id'
|
7
7
|
column_alias :buy_sell, :'buy sell'
|
data/lib/models/airport.rb
CHANGED
@@ -1,20 +1,21 @@
|
|
1
1
|
class Airport < Sequel::Model(:'airport')
|
2
2
|
# NOTE - Count of instances as of 06/01/2009 => 28304
|
3
|
-
|
3
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
4
|
+
|
4
5
|
# Associations
|
5
|
-
#~ one_to_many :trip_leg_arrivals, :class=>:TripLeg, :key=>nil, :dataset=>proc{TripLeg.filter(:'arrival-icao/iata/id'=>1, :'arrival icao'=>self[:'icao']).union(TripLeg.filter(:'arrival-icao/iata/id'=>2, :'arrival iata'=>self[:'iata'])).union(TripLeg.filter(:'arrival-icao/iata/id'=>3, :'arrival a/p prefix'.like("%#{self[:'airport id prefix']}"), :'arrival airport id'.like("%#{self[:'airport id']}")))}
|
6
|
-
one_to_many :trip_leg_arrivals, :class=>:TripLeg, :key=>
|
7
|
-
|
6
|
+
#~ one_to_many :trip_leg_arrivals, :class=>:TripLeg, :key=>nil, :dataset=>proc{TripLeg.filter(:'arrival-icao/iata/id'=>1, :'arrival icao'=>self[:'icao']).union(TripLeg.filter(:'arrival-icao/iata/id'=>2, :'arrival iata'=>self[:'iata'])).union(TripLeg.filter(:'arrival-icao/iata/id'=>3, :'arrival a/p prefix'.like("%#{self[:'airport id prefix']}"), :'arrival airport id'.like("%#{self[:'airport id']}")))}
|
7
|
+
one_to_many :trip_leg_arrivals, :class=>:TripLeg, :key=>self.primary_key, :dataset=>proc{TripLeg.filter(:'arrival-icao/iata/id'=>1, :'arrival icao'=>self[:'icao']).union(TripLeg.filter(:'arrival-icao/iata/id'=>2, :'arrival iata'=>self[:'iata'])).union(TripLeg.filter(:'arrival a/p prefix'.like("%#{self[:'airport id prefix']}"), :'arrival airport id'.like("%#{self[:'airport id']}"), :'arrival-icao/iata/id'=>3))}
|
8
|
+
# one_to_many :trip_leg_arrivals, :class=>:TripLeg, :key=>nil, :dataset=>proc{TripLeg.filter(:'arrival-icao/iata/id'=>1, :'arrival icao'=>self[:'icao']).union(TripLeg.filter(:'arrival-icao/iata/id'=>2, :'arrival iata'=>self[:'iata'])).union(TripLeg.filter(:'arrival a/p prefix'.like("%#{self[:'airport id prefix']}"), :'arrival airport id'.like("%#{self[:'airport id']}"), :'arrival-icao/iata/id'=>3))}
|
9
|
+
#~ one_to_many :trip_leg_departures, :class=>:TripLeg, :key=>nil, :dataset=>proc{TripLeg.filter(:'depart-icao/iata/id'=>1, :'departure icao'=>self[:'icao']).union(TripLeg.filter(:'depart-icao/iata/id'=>2, :'departure iata'=>self[:'iata'])).union(TripLeg.filter(:'depart-icao/iata/id'=>3, :'depart a/p prefix'.like("%#{self[:'airport id prefix']}"), :'depart airport id'.like("%#{self[:'airport id']}")))}
|
8
10
|
|
9
|
-
one_to_many :airport_fbos, :class=>:AirportFbo, :key=>
|
10
|
-
|
11
|
+
one_to_many :airport_fbos, :class=>:AirportFbo, :key=>self.primary_key, :dataset=>proc{
|
12
|
+
map = Airport.filter(:iata=>iata).graph( AirportFbo, {:'airport kid - date'=>:kid_date, :'airport kid - time'=>:kid_time,:'airport kid - user'=>:kid_user,:'airport kid - mult'=>:kid_mult,:'airport kid - comm'=>:kid_comm}, :table_alias=>:fbo);
|
11
13
|
result = map.inject([]){|array, hash| array<<hash[:fbo];array};
|
12
14
|
def result.all; self; end;
|
13
15
|
result;
|
14
|
-
}
|
15
|
-
|
16
|
-
#### BEGIN GENERATED SECTION ####
|
17
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
16
|
+
}
|
17
|
+
|
18
|
+
#### BEGIN GENERATED SECTION ####
|
18
19
|
|
19
20
|
column_alias :acn_pcn, :'acn pcn'
|
20
21
|
column_alias :acn_pcn_old, :'acn pcn old'
|
data/lib/models/airport_fbo.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
class AirportFbo < Sequel::Model(:"airport fbos")
|
2
2
|
# NOTE - Count of instances as of 06/01/2009 => 717298
|
3
|
-
|
3
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
4
|
+
|
4
5
|
o_to_n :trip_legs, :class=>:TripLeg, :prefix=>'fbo'
|
5
6
|
o_to_n :fueled_trip_legs, :class=>:TripLeg, :prefix=>'fueler'
|
6
7
|
o_to_n :airport_fuels, :class=>:AirportFuel, :prefix=>'fbo'
|
7
8
|
|
8
9
|
#### BEGIN GENERATED SECTION ####
|
9
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
10
10
|
|
11
11
|
column_alias :aftn_sita, :'aftn/sita'
|
12
12
|
column_alias :addr_2, :'addr 2'
|
data/lib/models/airport_fuel.rb
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
class AirportFuel < Sequel::Model(:'airport fuel')
|
2
|
-
# NOTE - Count of instances as of 06/01/2009 => 328246
|
2
|
+
# NOTE - Count of instances as of 06/01/2009 => 328246
|
3
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
4
|
|
4
5
|
# Many to one associations with atomic primary keys
|
5
6
|
many_to_one :vendor, :class=>:Vendor, :key=>:'vendor id', :primary_key=>:'vendor id'
|
6
7
|
|
7
8
|
# Many to one associations with atomic primary keys
|
8
|
-
n_to_o :airport_fbo, :class=>:AirportFbo, :prefix=>'fbo'
|
9
|
-
|
9
|
+
n_to_o :airport_fbo, :class=>:AirportFbo, :prefix=>'fbo'
|
10
|
+
|
10
11
|
# Column views
|
11
12
|
column_view :kid_date, :date, :creation_date
|
12
13
|
column_view :kid_time, :time, :creation_time
|
13
14
|
column_def_datetime :creation_datetime, :'kid - date', :'kid - time'
|
14
15
|
column_view :effective_date, :date, :effective_from
|
15
16
|
column_view :exp_date, :date, :effective_to
|
16
|
-
|
17
|
+
|
17
18
|
#### BEGIN GENERATED SECTION ####
|
18
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
19
19
|
|
20
20
|
column_alias :airport_id, :'airport id'
|
21
21
|
column_alias :airport_id_prefix, :'airport id prefix'
|
data/lib/models/code.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
class Code < Sequel::Model(:'codes')
|
2
2
|
# NOTE - Count of instances as of 06/01/2009 => 1557
|
3
|
-
|
3
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
4
|
+
|
4
5
|
# Returns all the codes that belong to the given code group name
|
5
6
|
def Code.get_codes(code_group_name)
|
6
7
|
filter(:name=>code_group_name).collect(&:description)
|
@@ -11,7 +12,7 @@ class Code < Sequel::Model(:'codes')
|
|
11
12
|
end
|
12
13
|
|
13
14
|
#### BEGIN GENERATED SECTION ####
|
14
|
-
|
15
|
+
|
15
16
|
|
16
17
|
column_alias :acct_num, :'acct num'
|
17
18
|
column_alias :ap_cost_type, :'ap cost type'
|
data/lib/models/crew_activity.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
class CrewActivity < Sequel::Model(:'crew activity')
|
2
|
-
# NOTE - Count of instances as of 06/01/2009 => 6239
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
# NOTE - Count of instances as of 06/01/2009 => 6239
|
3
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
4
|
+
|
5
|
+
#### BEGIN GENERATED SECTION ####
|
6
6
|
|
7
7
|
column_alias :act_begin_date_gmt, :'act begin date gmt'
|
8
8
|
column_alias :act_begin_date_home, :'act begin date home'
|
data/lib/models/crew_leg.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
class CrewLeg < Sequel::Model(:'crew legs')
|
2
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
|
+
|
2
4
|
# NOTE - Count of instances as of 06/01/2009 => 60947
|
3
5
|
|
4
6
|
# Many to one associations with composite primary keys
|
@@ -10,9 +12,7 @@ class CrewLeg < Sequel::Model(:'crew legs')
|
|
10
12
|
|
11
13
|
delegate :employee_name, :to => :crew_name, :allow_nil => true
|
12
14
|
|
13
|
-
#### BEGIN GENERATED SECTION ####
|
14
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
15
|
-
|
15
|
+
#### BEGIN GENERATED SECTION ####
|
16
16
|
column_alias :acm, :'acm'
|
17
17
|
column_alias :acm_fixed, :'acm fixed'
|
18
18
|
column_alias :appr_cat2, :'appr cat2'
|
data/lib/models/crew_trip.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
class CrewTrip < Sequel::Model(:'crew trips')
|
2
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
|
+
|
2
4
|
# Associations
|
3
5
|
n_to_o :trip, :class=>:Trip, :prefix=>'trip'
|
4
6
|
|
5
7
|
#### BEGIN GENERATED SECTION ####
|
6
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
7
8
|
|
8
9
|
column_alias :all_legs, :'all legs'
|
9
10
|
column_alias :arrival_ap_count, :'arrival a/p count'
|
data/lib/models/group_cost.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
class GroupCost < Sequel::Model(:'group cost')
|
2
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
|
+
|
2
4
|
# One to many associations through composite keys
|
3
5
|
o_to_n :costs, :class=>:OneCost, :prefix=>'group'
|
4
6
|
|
5
7
|
#### BEGIN GENERATED SECTION ####
|
6
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
7
8
|
|
8
9
|
column_alias :description, :'description'
|
9
10
|
column_alias :group_type, :'group type'
|
data/lib/models/one_cost.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
class OneCost < Sequel::Model(:'one cost')
|
2
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
|
+
|
2
4
|
# Code associations
|
3
5
|
code_association :cost_type_value, :cost_type, :airport_cost
|
4
6
|
|
5
7
|
#### BEGIN GENERATED SECTION ####
|
6
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
7
8
|
|
8
9
|
column_alias :ac_type_lookup, :'ac type lookup'
|
9
10
|
column_alias :account_number, :'account number'
|
data/lib/models/passenger.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
class Passenger < Sequel::Model(:'passengers')
|
2
2
|
# NOTE - Count of instances as of 06/01/2009 => 24917
|
3
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
4
|
|
4
5
|
# Many to one associations with composite primary keys
|
5
6
|
n_to_o :additional_cost, :class=>:CostGroup, :prefix=>'addlcost'
|
@@ -22,7 +23,7 @@ class Passenger < Sequel::Model(:'passengers')
|
|
22
23
|
column_view :birthday, :date
|
23
24
|
|
24
25
|
#### BEGIN GENERATED SECTION ####
|
25
|
-
|
26
|
+
|
26
27
|
|
27
28
|
column_alias :ar_balance, :'ar balance'
|
28
29
|
column_alias :addlcost_kid_comm, :'addlcost kid - comm'
|
data/lib/models/quote.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
class Quote < Sequel::Model(:'quotes - original')
|
2
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
|
+
|
2
4
|
# Many to one associations through composite keys
|
3
5
|
n_to_o :trip, :class=>:Trip, :prefix=>'trip'
|
4
6
|
n_to_o :requester, :class=>:Passenger, :prefix=>'pax'
|
@@ -18,7 +20,7 @@ class Quote < Sequel::Model(:'quotes - original')
|
|
18
20
|
many_to_one :quote_history_comment, :class=>:Comment, :key=>nil, :dataset=>proc{Comment.filter( :kid_date=>kid_date, :kid_time=>kid_time, :kid_user=>kid_user, :kid_mult=>kid_mult, :kid_comm=>history_comment )}
|
19
21
|
|
20
22
|
# One to many asociations with custom treatment
|
21
|
-
one_to_many :all_comments, :class=>:Comment, :dataset=>proc{Comment.filter( :kid_date=>kid_date, :kid_time=>kid_time, :kid_user=>kid_user, :kid_mult=>kid_mult, :kid_comm=>(kid_comm*10)..(kid_comm*10+9))}
|
23
|
+
one_to_many :all_comments, :key=>self.primary_key, :class=>:Comment, :dataset=>proc{Comment.filter( :kid_date=>kid_date, :kid_time=>kid_time, :kid_user=>kid_user, :kid_mult=>kid_mult, :kid_comm=>(kid_comm*10)..(kid_comm*10+9))}
|
22
24
|
|
23
25
|
# Code associations
|
24
26
|
code_association :purpose, :trip_purpose, :purpose
|
@@ -34,7 +36,7 @@ class Quote < Sequel::Model(:'quotes - original')
|
|
34
36
|
column_def_datetime :quoted_date_time_gmt, :'kid - date', :'kid - time'
|
35
37
|
|
36
38
|
#### BEGIN GENERATED SECTION ####
|
37
|
-
|
39
|
+
|
38
40
|
|
39
41
|
column_alias :ac_cost_total, :'a/c cost total'
|
40
42
|
column_alias :ac_base_code, :'ac base code'
|
data/lib/models/quote_leg.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
class QuoteLeg < Sequel::Model(:'quote legs original')
|
2
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
2
3
|
|
3
4
|
many_to_one :leg_time, :class=>:LegTime, :key=>nil, :dataset=> proc {LegTime.filter(:'trip_number'=> trip_number, :leg_number=> leg_number)}
|
4
5
|
n_to_o :quote, :class=>:Quote, :prefix => "quotes"
|
@@ -10,7 +11,6 @@ class QuoteLeg < Sequel::Model(:'quote legs original')
|
|
10
11
|
code_association :regulation_code, :regulation, :certification
|
11
12
|
|
12
13
|
#### BEGIN GENERATED SECTION ####
|
13
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
14
14
|
|
15
15
|
column_alias :ac_cost_fixed, :'a/c cost fixed'
|
16
16
|
column_alias :ac_log_ac_hrs, :'a/c log a/c hrs'
|
data/lib/models/trip.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
class Trip < Sequel::Model(:'trips')
|
2
2
|
# NOTE - Count of instances as of 06/01/2009 => 32927
|
3
|
-
|
3
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
4
|
+
|
4
5
|
# Many to one associations with atomic primary keys
|
5
6
|
many_to_one :aircraft, :class=>:Aircraft, :key=>:'aircraft id', :primary_key=>:'aircraft id'
|
6
7
|
many_to_one :aircraft_type, :class=>:AircraftType, :key=>:'aircraft type id', :primary_key=>:'aircraft type id'
|
@@ -36,8 +37,8 @@ class Trip < Sequel::Model(:'trips')
|
|
36
37
|
end
|
37
38
|
|
38
39
|
# One to many associations with composite primary key (reverse lookup)
|
39
|
-
one_to_many :trip_passengers, :class=>:TripPassenger, :key=>
|
40
|
-
one_to_many :all_comments, :class=>:Comment, :dataset=>proc{Comment.filter( :kid_date=>kid_date, :kid_time=>kid_time, :kid_user=>kid_user, :kid_mult=>kid_mult, :kid_comm=>(kid_comm*10)..(kid_comm*10+9))}
|
40
|
+
one_to_many :trip_passengers, :class=>:TripPassenger, :key=>self.primary_key, :dataset=>proc{TripPassenger.filter( :trip_kid_date=>self.kid_date, :trip_kid_time=>self.kid_time,:trip_kid_user=>self.kid_user,:trip_kid_comm=>self.kid_comm,:trip_kid_mult=>self.kid_mult)}
|
41
|
+
one_to_many :all_comments, :class=>:Comment, :key=>self.primary_key, :dataset=>proc{Comment.filter( :kid_date=>kid_date, :kid_time=>kid_time, :kid_user=>kid_user, :kid_mult=>kid_mult, :kid_comm=>(kid_comm*10)..(kid_comm*10+9))}
|
41
42
|
|
42
43
|
# Code associations
|
43
44
|
code_association :department_value, :'department code', :department
|
@@ -56,7 +57,6 @@ class Trip < Sequel::Model(:'trips')
|
|
56
57
|
column_view :kid_date, :date, :scheduled_date
|
57
58
|
|
58
59
|
#### BEGIN GENERATED SECTION ####
|
59
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
60
60
|
|
61
61
|
column_alias :ac_owner_code, :'ac owner code'
|
62
62
|
column_alias :ac_rest_type, :'ac rest type'
|
data/lib/models/trip_leg.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
class TripLeg < Sequel::Model(:'trip legs')
|
2
2
|
# NOTE - Count of instances as of 06/01/2009 => 70630
|
3
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
4
|
|
4
5
|
# Many to one associations with atomic primary keys
|
5
6
|
many_to_one :aircraft, :class=>:Aircraft, :key=>:'aircraft id', :primary_key=>:'aircraft id'
|
@@ -67,7 +68,6 @@ class TripLeg < Sequel::Model(:'trip legs')
|
|
67
68
|
|
68
69
|
|
69
70
|
#### BEGIN GENERATED SECTION ####
|
70
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
71
71
|
|
72
72
|
column_alias :ac_cost_fixed, :'a/c cost fixed'
|
73
73
|
column_alias :ac_log_ac_hrs, :'a/c log a/c hrs'
|
@@ -722,7 +722,7 @@ class TripLeg < Sequel::Model(:'trip legs')
|
|
722
722
|
|
723
723
|
# sort on lead_pax value to lead pax = 1 is first and the lead_pax values of 0 are all after
|
724
724
|
def passenger_list
|
725
|
-
return '' if trip__passengers.
|
725
|
+
return '' if trip__passengers.blank? or is_deadhead?
|
726
726
|
trip__passengers.sort_by{|tp| -tp.lead_pax}.collect do |tp|
|
727
727
|
if (leg_number >= tp.departure_leg_number and leg_number <= tp.arrival_leg_number)
|
728
728
|
tp.name + (tp.lead_pax==1 ? " (lead pax)" : '' )
|
@@ -1,11 +1,12 @@
|
|
1
1
|
class TripPassenger < Sequel::Model(:'trip passengers')
|
2
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
|
+
|
2
4
|
# Many to one relationships
|
3
5
|
n_to_o :passenger, :class=>:Passenger, :prefix=>'pax'
|
4
6
|
n_to_o :trip, :class=>:Trip, :prefix=>'trip'
|
5
7
|
|
6
8
|
|
7
9
|
#### BEGIN GENERATED SECTION ####
|
8
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
9
10
|
|
10
11
|
column_alias :apis_pax_num, :'apis pax num'
|
11
12
|
column_alias :additional_cost, :'additional cost'
|
@@ -1,9 +1,10 @@
|
|
1
1
|
class User < Sequel::Model(:'user information')
|
2
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
|
+
|
2
4
|
# Associations
|
3
5
|
one_to_many :locked_trip, :class=>:Trip, :key=>:'users initials', :primary_key=>:'locked by - user id'
|
4
6
|
|
5
7
|
#### BEGIN GENERATED SECTION ####
|
6
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
7
8
|
|
8
9
|
column_alias :ap_costs_fees, :'a/p costs && fees'
|
9
10
|
column_alias :ac_access_trip_list, :'ac access trip list'
|
@@ -1,4 +1,6 @@
|
|
1
1
|
class VendorDocument < Sequel::Model(:'vendor documents')
|
2
|
+
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
3
|
+
|
2
4
|
# helper accessors for creating vendor document
|
3
5
|
# filename_prefix helps set up the path to the document
|
4
6
|
attr_accessor :doc_type_value, :file_name_prefix, :doc_type, :file_name
|
@@ -58,7 +60,6 @@ class VendorDocument < Sequel::Model(:'vendor documents')
|
|
58
60
|
|
59
61
|
|
60
62
|
#### BEGIN GENERATED SECTION ####
|
61
|
-
set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
|
62
63
|
|
63
64
|
column_alias :acct_number, :'acct number'
|
64
65
|
column_alias :billed, :'billed'
|
data/lib/sequel/model_patch.rb
CHANGED
@@ -63,8 +63,9 @@ class Sequel::Model
|
|
63
63
|
class_name = options[:class]
|
64
64
|
prefix = options[:prefix]
|
65
65
|
case assoc_type
|
66
|
-
when :one_to_many
|
67
|
-
key = primary_key
|
66
|
+
when :one_to_many
|
67
|
+
key = options[:key] || primary_key
|
68
|
+
primary_key = options[:primary_key] || key
|
68
69
|
graph_conditions = { :"#{prefix} kid - date" => :'kid - date', :"#{prefix} kid - time" => :'kid - time', :"#{prefix} kid - user" => :'kid - user', :"#{prefix} kid - mult" => :'kid - mult', :"#{prefix} kid - comm" => :'kid - comm' }
|
69
70
|
dataset_filter = proc { class_name.to_s.constantize.filter( :"#{prefix} kid - date"=>self[:'kid - date'], :"#{prefix} kid - time"=>self[:'kid - time'], :"#{prefix} kid - user"=>self[:'kid - user'], :"#{prefix} kid - mult"=>self[:'kid - mult'], :"#{prefix} kid - comm"=>self[:'kid - comm']) }
|
70
71
|
when :many_to_one
|
@@ -73,7 +74,7 @@ class Sequel::Model
|
|
73
74
|
dataset_filter = proc { class_name.to_s.constantize.filter( :"kid - date"=>self[:"#{prefix} kid - date"], :"kid - time"=>self[:"#{prefix} kid - time"], :"kid - user"=>self[:"#{prefix} kid - user"], :"kid - mult"=>self[:"#{prefix} kid - mult"], :"kid - comm"=>self[:"#{prefix} kid - comm"]) }
|
74
75
|
end
|
75
76
|
graph_conditions.merge!(options[:graph_only_conditions]) if options[:graph_only_conditions]
|
76
|
-
send(assoc_type, assoc_name, :key=> key, :class => class_name, :dataset=> dataset_filter, :graph_only_conditions=>graph_conditions)
|
77
|
+
send(assoc_type, assoc_name, :key=> key, :primary_key=>primary_key, :class => class_name, :dataset=> dataset_filter, :graph_only_conditions=>graph_conditions)
|
77
78
|
end
|
78
79
|
|
79
80
|
# for creating an association to the 'Codes' table
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "quote associations" do
|
4
|
+
it "produces one costs" do
|
5
|
+
set_fos_db([Quote, QuoteLeg, GroupCost, OneCost])
|
6
|
+
@april_3_2009 = Date.parse('03/04/2009')
|
7
|
+
@confirmation_number = "33167"
|
8
|
+
@quote = Quote.filter( :confirmation_number=> @confirmation_number ).first
|
9
|
+
@quote.group_cost__costs.size.should == 2
|
10
|
+
end
|
11
|
+
end
|
@@ -34,21 +34,21 @@ describe TripLeg do
|
|
34
34
|
end
|
35
35
|
|
36
36
|
it "actual arrival date_time base are correctly calculating the tz offset" do
|
37
|
-
arr_date_act_gmt = Date.new(1900,1,2)
|
37
|
+
arr_date_act_gmt = Date.new(1900, 1, 2)
|
38
38
|
arriv_time_act_gmt = 1420
|
39
39
|
home_tz_gmt_offset = -70
|
40
40
|
tl = TripLeg.new(:arr_date_act_gmt => arr_date_act_gmt.to_fos_days, :arriv_time_act_gmt => arriv_time_act_gmt,
|
41
41
|
:home_tz_gmt_offset => home_tz_gmt_offset)
|
42
|
-
tl.actual_arrival_date_time_base.should == DateTime.new(1900,1,2,16,40,0)
|
42
|
+
tl.actual_arrival_date_time_base.should == DateTime.new(1900, 1, 2, 16, 40, 0)
|
43
43
|
end
|
44
44
|
|
45
45
|
it "actual departure date_time base are correctly calculating the tz offset" do
|
46
|
-
dept_date_act_gmt = Date.new(1900,1,2)
|
46
|
+
dept_date_act_gmt = Date.new(1900, 1, 2)
|
47
47
|
dept_time_act_gmt = 1420
|
48
48
|
home_tz_gmt_offset = -70
|
49
49
|
tl = TripLeg.new(:dept_date_act_gmt => dept_date_act_gmt.to_fos_days, :dept_time_act_gmt => dept_time_act_gmt,
|
50
50
|
:home_tz_gmt_offset=>home_tz_gmt_offset)
|
51
|
-
tl.actual_departure_date_time_base.should == DateTime.new(1900,1,2,16,40,0)
|
51
|
+
tl.actual_departure_date_time_base.should == DateTime.new(1900, 1, 2, 16, 40, 0)
|
52
52
|
end
|
53
53
|
|
54
54
|
it "should properly convert nautical miles to statute miles with 1 significant digit" do
|
@@ -71,30 +71,30 @@ describe TripLeg do
|
|
71
71
|
|
72
72
|
it "when leg has no passengers" do
|
73
73
|
mock(@t).passengers {[]}
|
74
|
-
tl = TripLeg.new(:trip_number=>100
|
74
|
+
tl = TripLeg.new(:trip_number=>100, :leg_number=>1, :trip=>@t)
|
75
75
|
tl.passenger_list.should == ''
|
76
76
|
end
|
77
77
|
|
78
|
-
it "when leg has no pax/deadhead" do
|
79
|
-
tl = TripLeg.new(:trip_number=>100,:leg_number=>1, :trip=>@t, :status=>1,:deadhead=>1)
|
80
|
-
tl.passenger_list.should == ''
|
81
|
-
end
|
78
|
+
# it "when leg has no pax/deadhead" do
|
79
|
+
# tl = TripLeg.new(:trip_number=>100,:leg_number=>1, :trip=>@t, :status=>1,:deadhead=>1)
|
80
|
+
# tl.passenger_list.should == ''
|
81
|
+
# end
|
82
82
|
|
83
83
|
it "when leg has some in range ( and put lead pax name first )" do
|
84
84
|
stub(@t).passengers {[@p1, @p2, @p3]}
|
85
|
-
tl = TripLeg.new(:trip_number=>100
|
85
|
+
tl = TripLeg.new(:trip_number=>100, :leg_number=>1, :trip=>@t)
|
86
86
|
tl.passenger_list.should == "eric (lead pax) : rob"
|
87
87
|
end
|
88
88
|
|
89
89
|
it "when leg has 1 in range" do
|
90
90
|
stub(@t).passengers {[@p1, @p2, @p3]}
|
91
|
-
tl = TripLeg.new(:trip_number=>100
|
91
|
+
tl = TripLeg.new(:trip_number=>100, :leg_number=>2, :trip=>@t)
|
92
92
|
tl.passenger_list.should == "eric (lead pax)"
|
93
93
|
end
|
94
94
|
|
95
95
|
it "when leg has none in range" do
|
96
96
|
stub(@t).passengers {[@p1, @p2, @p3]}
|
97
|
-
tl = TripLeg.new(:trip_number=>100
|
97
|
+
tl = TripLeg.new(:trip_number=>100, :leg_number=>3, :trip=>@t)
|
98
98
|
tl.passenger_list.should == ""
|
99
99
|
end
|
100
100
|
|
@@ -102,7 +102,8 @@ describe TripLeg do
|
|
102
102
|
|
103
103
|
it "method total_trip_statute_miles returns a value" do
|
104
104
|
@t = Trip.new(:total_statute_miles=>100)
|
105
|
-
tl = TripLeg.new(:trip_number=>100
|
105
|
+
tl = TripLeg.new(:trip_number=>100, :leg_number=>3, :trip=>@t)
|
106
106
|
tl.total_trip_statute_miles.should == 10.0
|
107
107
|
end
|
108
|
+
|
108
109
|
end
|
@@ -328,6 +328,29 @@ describe "Sequel::Model extentions" do
|
|
328
328
|
|
329
329
|
end
|
330
330
|
|
331
|
+
describe "work with real fos data" do
|
332
|
+
before :all do
|
333
|
+
set_fos_db([TripLeg, Trip, TripPassenger, CrewLeg, Aircraft, Code])
|
334
|
+
@trip_leg = TripLeg.first(:trip_number=>67506, :leg_number=>4)
|
335
|
+
end
|
336
|
+
|
337
|
+
it "many_to_one aircraft" do
|
338
|
+
@trip_leg.aircraft__tail_number.should == "N779XJ"
|
339
|
+
end
|
340
|
+
|
341
|
+
it "o_to_n crew_legs association works" do
|
342
|
+
[@trip_leg.pic,@trip_leg.sic].should == ['FORS','ALEB']
|
343
|
+
end
|
344
|
+
|
345
|
+
it "n_to_o trip association works" do
|
346
|
+
@trip_leg.trip.departure_date_gmt.should == 39873
|
347
|
+
end
|
348
|
+
|
349
|
+
it "trip to passenger_list association works" do
|
350
|
+
@trip_leg.passenger_list.should == "Mendelson, Victor (lead pax) : Mendelson, Laurans : Irwin, Thomas"
|
351
|
+
end
|
352
|
+
end
|
353
|
+
|
331
354
|
end
|
332
355
|
|
333
356
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -7,7 +7,7 @@ unless defined?(DB_DEMO)
|
|
7
7
|
DB_DEMO = Sequel.odbc('demodata')#, :loggers=>[Logger.new($stdout)])
|
8
8
|
DB_DEMO.extend(Sequel::Pervasive::DatabaseMethods)
|
9
9
|
|
10
|
-
DB_FOS = Sequel.odbc('fos'
|
10
|
+
DB_FOS = Sequel.odbc('fos', :loggers=>[Logger.new($stdout)])
|
11
11
|
DB_FOS.extend(Sequel::Pervasive::DatabaseMethods)
|
12
12
|
end
|
13
13
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fossil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.45
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrick Lardin, Daniel Sudol
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-04-
|
12
|
+
date: 2010-04-25 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -170,6 +170,7 @@ files:
|
|
170
170
|
- spec/helper_classes.rb
|
171
171
|
- spec/helper_methods.rb
|
172
172
|
- spec/models/code_spec.rb
|
173
|
+
- spec/models/quote.rb
|
173
174
|
- spec/models/trip_leg_spec.rb
|
174
175
|
- spec/models/trip_spec.rb
|
175
176
|
- spec/models/vendor_document_spec.rb
|
@@ -224,5 +225,6 @@ test_files:
|
|
224
225
|
- spec/models/code_spec.rb
|
225
226
|
- spec/models/trip_leg_spec.rb
|
226
227
|
- spec/models/vendor_document_spec.rb
|
228
|
+
- spec/models/quote.rb
|
227
229
|
- spec/models/trip_spec.rb
|
228
230
|
- spec/be_model_with_values_matcher.rb
|