fossil 0.5.34 → 0.5.35

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.5.34
1
+ 0.5.35
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.5.34"
8
+ s.version = "0.5.35"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Daniel Sudol", "Patrick Lardin"]
12
- s.date = %q{2011-03-10}
12
+ s.date = %q{2011-03-15}
13
13
  s.description = %q{Access FOS/betrieve db with this Sequel based orm wrapper}
14
14
  s.email = %q{dansudol@yahoo.com}
15
15
  s.extra_rdoc_files = [
@@ -20,6 +20,9 @@ Gem::Specification.new do |s|
20
20
  "Rakefile",
21
21
  "VERSION",
22
22
  "fossil.gemspec",
23
+ "lib/dbr_models/aircraft.rb",
24
+ "lib/dbr_models/airport.rb",
25
+ "lib/dbr_models/airport_fbo.rb",
23
26
  "lib/dbr_models/flight_log_expense.rb",
24
27
  "lib/dbr_models/group_cost.rb",
25
28
  "lib/dbr_models/personnel.rb",
@@ -55,6 +58,7 @@ Gem::Specification.new do |s|
55
58
  "lib/models/cargo.rb",
56
59
  "lib/models/check_group.rb",
57
60
  "lib/models/checklist.rb",
61
+ "lib/models/city_cost.rb",
58
62
  "lib/models/city_pair.rb",
59
63
  "lib/models/code.rb",
60
64
  "lib/models/comment.rb",
@@ -146,6 +150,7 @@ Gem::Specification.new do |s|
146
150
  "spec/helper_classes.rb",
147
151
  "spec/helper_methods.rb",
148
152
  "spec/models/airport_fbo_spec.rb",
153
+ "spec/models/city_pair_spec.rb",
149
154
  "spec/models/code_spec.rb",
150
155
  "spec/models/flight_log_expense_spec.rb",
151
156
  "spec/models/quote_spec.rb",
@@ -191,6 +196,7 @@ Gem::Specification.new do |s|
191
196
  "spec/models/vendor_document_spec.rb",
192
197
  "spec/models/trip_spec.rb",
193
198
  "spec/models/airport_fbo_spec.rb",
199
+ "spec/models/city_pair_spec.rb",
194
200
  "spec/be_model_with_values_matcher.rb"
195
201
  ]
196
202
 
@@ -0,0 +1,3 @@
1
+ class Aircraft
2
+
3
+ end
@@ -0,0 +1,3 @@
1
+ class Airport
2
+ one_to_many :airport_fbos, :class=>:AirportFbo, :primary_key=>:id, :key=>:airport_id
3
+ end
@@ -0,0 +1,3 @@
1
+ class AirportFbo
2
+ many_to_one :airport, :class=>:Airport, :key=>:airport_id
3
+ end
@@ -1,7 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'sequel'
3
3
  require 'logger'
4
- require File.dirname(__FILE__) +'/../sequel/pervasive'
4
+ require_relative '../sequel/pervasive_adapter'
5
5
 
6
6
  Sequel::Model.plugin(:schema)
7
7
  $db = Sequel.connect('odbc:/FOS')#, :loggers => [ Logger.new( $stdout ) ] )
@@ -57,7 +57,7 @@ COLUMN_DEFINITIONS
57
57
  end
58
58
 
59
59
  def write_class_file
60
- file_name = File.join("..","..","models","#{@file_name}.rb")
60
+ file_name = File.join("..","models","#{@file_name}.rb")
61
61
  puts "filename=#{file_name}"
62
62
  file_str = File.exists?(file_name) ? File.read(file_name) : new_class_text
63
63
  sequel_part = build_sequel_section
@@ -118,7 +118,9 @@ end
118
118
 
119
119
  files = XFILE.filter(~:'xf$flags' => 16).and(:'xf$loc'.like('%.btr')).or(:'xf$loc'.like('%.BTR'))
120
120
  files.each do |file|
121
- p file[:'xf$name']
122
- fos_class_gen = FOSClassGenerator.new(file)
123
- fos_class_gen.write_class_file
121
+ if file[:'xf$name'] == "CITY COST"
122
+ p file[:'xf$name']
123
+ fos_class_gen = FOSClassGenerator.new(file)
124
+ fos_class_gen.write_class_file
125
+ end
124
126
  end
@@ -5,6 +5,7 @@ class Aircraft < Sequel::Model(:'aircraft')
5
5
  # One to many to one associations with atomic primary keys
6
6
  one_to_many :trips, :class=>:Trip, :key=>:'aircraft id', :primary_key=>:'aircraft id'
7
7
  one_to_many :trip_legs, :class=>:TripLeg, :key=>:'aircraft id', :primary_key=>:'aircraft id'
8
+ many_to_one :aircraft_type, :class=>:AircraftType, :key=>:'type id', :primary_key=>:'type id'
8
9
  n_to_o :owner, :class=>:Passenger, :prefix=>'owner'
9
10
 
10
11
  code_association :company_value, :'company code', :company
@@ -0,0 +1,46 @@
1
+ class CityCost < Sequel::Model(:'city cost')
2
+ set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
3
+
4
+ unrestrict_primary_key
5
+
6
+ def after_initialize
7
+ set_kids if new?
8
+ end
9
+
10
+ def set_kids
11
+ self.kid_date = rand(65535)
12
+ self.kid_time = rand(65535)
13
+ self.kid_comm = rand(255)
14
+ self.kid_mult = rand(255)
15
+ self.kid_user = rand(36**4).to_s(36)
16
+ self.owner_kid_date = citypair.kid_date
17
+ self.owner_kid_time = citypair.kid_time
18
+ self.owner_kid_mult = citypair.kid_mult
19
+ self.owner_kid_comm = citypair.kid_comm
20
+ self.owner_kid_user = citypair.kid_user
21
+ end
22
+
23
+ n_to_o :city_pair, :class=>:CityPair, :prefix=>'owner'
24
+
25
+ #### BEGIN GENERATED SECTION ####
26
+
27
+ column_alias :dh_fare, :'dh fare'
28
+ column_alias :effective_date, :'effective date'
29
+ column_alias :end_date, :'end date'
30
+ column_alias :fare, :'fare'
31
+ column_alias :internal0, :'internal0'
32
+ column_alias :kid_comm, :'kid - comm'
33
+ column_alias :kid_date, :'kid - date'
34
+ column_alias :kid_mult, :'kid - mult'
35
+ column_alias :kid_time, :'kid - time'
36
+ column_alias :kid_user, :'kid - user'
37
+ column_alias :owner_kid_comm, :'owner kid - comm'
38
+ column_alias :owner_kid_date, :'owner kid - date'
39
+ column_alias :owner_kid_mult, :'owner kid - mult'
40
+ column_alias :owner_kid_time, :'owner kid - time'
41
+ column_alias :owner_kid_user, :'owner kid - user'
42
+ column_alias :key0, :'key0'
43
+ column_alias :key1, :'key1'
44
+ #### END GENERATED SECTION ####
45
+
46
+ end
@@ -1,43 +1,60 @@
1
1
  class CityPair < Sequel::Model(:'city pair')
2
+ set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
3
+
4
+ unrestrict_primary_key
5
+
6
+ def after_initialize
7
+ set_kids if new?
8
+ end
9
+
10
+ def set_kids
11
+ self.kid_date = rand(65535)
12
+ self.kid_time = rand(65535)
13
+ self.kid_comm = rand(255)
14
+ self.kid_mult = rand(255)
15
+ self.kid_user = rand(36**4).to_s(36)
16
+ end
17
+
18
+ o_to_n :city_costs, :class=>:CityCost, :prefix=>'owner'
2
19
 
3
20
  #### BEGIN GENERATED SECTION ####
4
- set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
5
21
 
6
- column_alias :additional_distance, :'additional distance'
7
- column_alias :additional_time, :'additional time'
8
- column_alias :aircraft_type_id, :'aircraft type id'
9
- column_alias :allocation_1, :'allocation 1'
10
- column_alias :allocation_2, :'allocation 2'
11
- column_alias :cklist_kid_comm, :'cklist kid - comm'
12
- column_alias :cklist_kid_date, :'cklist kid - date'
13
- column_alias :cklist_kid_mult, :'cklist kid - mult'
14
- column_alias :cklist_kid_time, :'cklist kid - time'
15
- column_alias :cklist_kid_user, :'cklist kid - user'
16
- column_alias :dh_fare, :'dh fare'
17
- column_alias :distance, :'distance'
18
- column_alias :fare, :'fare'
19
- column_alias :flight_time, :'flight time'
20
- column_alias :from_ap_id, :'from ap id'
21
- column_alias :from_ap_prefix, :'from ap prefix'
22
- column_alias :from_area_id, :'from area id'
23
- column_alias :internal01, :'internal01'
24
- column_alias :internal02, :'internal02'
25
- column_alias :kid_comm, :'kid - comm'
26
- column_alias :kid_date, :'kid - date'
27
- column_alias :kid_mult, :'kid - mult'
28
- column_alias :kid_time, :'kid - time'
29
- column_alias :kid_user, :'kid - user'
30
- column_alias :outside_eec_percent, :'outside eec percent'
31
- column_alias :to_ap_id, :'to ap id'
32
- column_alias :to_ap_prefix, :'to ap prefix'
33
- column_alias :to_area_id, :'to area id'
34
- column_alias :internal0, :'internal0'
35
- column_alias :key0, :'key0'
36
- column_alias :key1, :'key1'
37
- column_alias :key2, :'key2'
38
- column_alias :key3, :'key3'
39
- column_alias :key4, :'key4'
40
- column_alias :key5, :'key5'
22
+ column_alias :additional_distance, :'additional distance'
23
+ column_alias :additional_time, :'additional time'
24
+ column_alias :aircraft_type_id, :'aircraft type id'
25
+ column_alias :allocation_1, :'allocation 1'
26
+ column_alias :allocation_2, :'allocation 2'
27
+ column_alias :cklist_kid_comm, :'cklist kid - comm'
28
+ column_alias :cklist_kid_date, :'cklist kid - date'
29
+ column_alias :cklist_kid_mult, :'cklist kid - mult'
30
+ column_alias :cklist_kid_time, :'cklist kid - time'
31
+ column_alias :cklist_kid_user, :'cklist kid - user'
32
+ column_alias :dh_fare, :'dh fare'
33
+ column_alias :distance, :'distance'
34
+ column_alias :expiration_date, :'expiration date'
35
+ column_alias :fare, :'fare'
36
+ column_alias :flight_time, :'flight time'
37
+ column_alias :from_ap_id, :'from ap id'
38
+ column_alias :from_ap_prefix, :'from ap prefix'
39
+ column_alias :from_area_id, :'from area id'
40
+ column_alias :internal01, :'internal01'
41
+ column_alias :internal02, :'internal02'
42
+ column_alias :kid_comm, :'kid - comm'
43
+ column_alias :kid_date, :'kid - date'
44
+ column_alias :kid_mult, :'kid - mult'
45
+ column_alias :kid_time, :'kid - time'
46
+ column_alias :kid_user, :'kid - user'
47
+ column_alias :outside_eec_percent, :'outside eec percent'
48
+ column_alias :to_ap_id, :'to ap id'
49
+ column_alias :to_ap_prefix, :'to ap prefix'
50
+ column_alias :to_area_id, :'to area id'
51
+ column_alias :internal0, :'internal0'
52
+ column_alias :key0, :'key0'
53
+ column_alias :key1, :'key1'
54
+ column_alias :key2, :'key2'
55
+ column_alias :key3, :'key3'
56
+ column_alias :key4, :'key4'
57
+ column_alias :key5, :'key5'
41
58
  #### END GENERATED SECTION ####
42
59
 
43
60
  end
@@ -8,8 +8,6 @@ class TripLeg < Sequel::Model(:'trip legs')
8
8
  many_to_one :locked_by, :class=>:User, :key=>:'locked by - user id', :primary_key=>:'users initials'
9
9
  many_to_one :leg_rate_aircraft, :class=>:Aircraft, :key=>:'leg rate ac id', :primary_key=>:'aircraft id'
10
10
  many_to_one :authorizer_name, :class=>:Personnel, :key=>:authorization, :primary_key=>:employee_id
11
- many_to_one :departure_fuel_vendor, :class=>:Vendor, :key=>:dep_fuel_vendor, :primary_key=>:vendor_id
12
- many_to_one :arrival_fuel_vendor, :class=>:Vendor, :key=>:arr_fuel_vendor, :primary_key=>:vendor_id
13
11
 
14
12
  # Many to one associations with composite primary keys
15
13
  n_to_o :trip, :class=>:Trip, :prefix=>'trips'
@@ -1,6 +1,8 @@
1
1
  class VendorDocument < Sequel::Model(:'vendor documents')
2
2
  set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
3
3
 
4
+ unrestrict_primary_key
5
+
4
6
  # helper accessors for creating vendor document
5
7
  # filename_prefix helps set up the path to the document
6
8
  attr_accessor :doc_type_value, :file_name_prefix, :doc_type, :file_name
@@ -9,9 +11,6 @@ class VendorDocument < Sequel::Model(:'vendor documents')
9
11
  column_alias :trip_number, :number, :type => :integer
10
12
  column_alias :description, :name
11
13
 
12
- # Developpers must have the ability to set the PK programmatically
13
- unrestrict_primary_key
14
-
15
14
  # Code associations
16
15
  code_association :type, :document_type, :aircraft_document
17
16
 
@@ -0,0 +1,50 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ RSpec::Matchers.define :have_valid_kid_keys do |expected|
4
+ match do |actual|
5
+ actual.kid_date.to_s.should =~ /\d{1,5}/
6
+ actual.kid_time.to_s.should =~ /\d{1,5}/
7
+ actual.kid_user.should =~ /\w{4}/
8
+ actual.kid_mult.to_s.should =~ /\d{1,3}/
9
+ actual.kid_comm.to_s.should =~ /\d{1,3}/
10
+ end
11
+ end
12
+
13
+
14
+ class Sequel::Model::Associations::OneToManyAssociationReflection
15
+ # one_to_many associations can only have associated objects if none of
16
+ # the :keys options have a nil value.
17
+ def can_have_associated_objects?(obj)
18
+ !self[:primary_keys].any?{|k| obj.send(k).nil?}
19
+ # !self[:primary_keys].any?{|k| obj.send(:[],k).nil?}
20
+ end
21
+ end
22
+
23
+ describe CityPair do
24
+
25
+ it "sets kid values for new city_pair" do
26
+ city_pair = CityPair.new
27
+ begin
28
+ city_pair.should have_valid_kid_keys
29
+ # p CityPair.aliases
30
+ p city_pair.city_costs
31
+ # p city_pair.kid_user
32
+ # p city_pair.send(:[],:'kid - user')
33
+ rescue => e
34
+ pp [e,e.backtrace]
35
+ end
36
+ end
37
+
38
+ it "sets kid vlues for CityCost" do
39
+ # city_pair = CityPair.new
40
+ # city_cost = CityCost.new(:city_pair=>city_pair)
41
+ # city_cost.should have_valid_kid_keys
42
+ # city_pair.kid_date.to_s.should =~ /\d{4,5}/
43
+ # city_pair.kid_time.to_s.should =~ /\d{4,5}/
44
+ # city_pair.kid_user.should =~ /\w{4}/
45
+ # city_pair.kid_mult.to_s.should =~ /\d{1,3}/
46
+ # city_pair.kid_comm.to_s.should =~ /\d{1,3}/
47
+ end
48
+
49
+ end
50
+
data/spec/silly_spec.rb CHANGED
@@ -3,31 +3,38 @@ require 'logger'
3
3
  require 'pp'
4
4
 
5
5
  #DB = Sequel.fos('fosprod', :loggers=>[Logger.new($stdout)])
6
+ DB = Sequel.fos('fos', :loggers=>[Logger.new($stdout)])
7
+ #DB = Sequel.fos('demo_company_fos_db')#, :loggers=>[Logger.new($stdout)])
6
8
  #DB = Sequel.fos('flyos')#, :loggers=>[Logger.new($stdout)])
7
- #[AirportFuel].each {|model| model.db = DB}
8
- #[Trip, TripLeg, Aircraft].each {|model| model.db = DB}
9
-
9
+ #[CityPair,CityCost].each {|model| model.db = DB}
10
+ [Vendor].each {|model| model.db = DB}
11
+ #p Aircraft.first.type_id
10
12
  #p [AirportFuel.min(:kid_date),AirportFuel.max(:kid_date)]
11
13
  #p [TripLeg.min(:dept_date_gmt),TripLeg.max(:dept_date_gmt)]
12
14
  #p [Date.from_fos_days(TripLeg.min(:dept_date_gmt)).to_s,Date.from_fos_days(TripLeg.max(:dept_date_gmt)).to_s]
13
-
14
- #p TripLeg.filter(:)
15
+ p Vendor.count
16
+ #p TripLeg.filter{kid_date > 40500}.limit(10).all.collect &:dep_fuel_vendor
15
17
  #p Passenger.filter(:kid_date=>38439, :kid_time=>1428, :kid_comm=>1, :kid_mult=>0).first
16
18
  #p Aircraft.filter(:kid_date=>39722).first.owner_name
17
19
  #p Aircraft.select(:kid_date,:owner_kid_date,:owner_kid_time).all.collect{|c| [c.kid_date,c.owner_kid_date,c.owner_kid_time] }
18
- #p Aircraft.select(:kid_date,:owner_name,:owner_kid_user,:owner_kid_comm,:owner_kid_mult,:owner_kid_date,:owner_kid_time).filter(~:owner_kid_date=>0).all.collect{|c| [c.kid_date,c.owner_name,c.owner_kid_user,c.owner_kid_comm,c.owner_kid_mult,c.owner_kid_date,c.owner_kid_time] }
20
+ #p Aircraft.select(:kid_date,:tail_number,:owner_name,:owner_kid_user,:owner_kid_comm,:owner_kid_mult,:owner_kid_date,:owner_kid_time).all.collect{|c| [c.kid_date,c.tail_number,c.owner_name,c.owner_kid_user,c.owner_kid_comm,c.owner_kid_mult,c.owner_kid_date,c.owner_kid_time] }
19
21
  #p Aircraft.select(:owner_name).all.collect(&:owner_name).uniq.sort
20
-
22
+ #p Passenger.filter(:name.like('%CTA%')).first
23
+ #p TripLeg.all.collect(&:aircraft__tail_number).uniq
24
+ #
21
25
  #Aircraft.first.owner
22
26
  #p TripLeg.filter{flight_time_actual > 0 }.first.aft_time_view
23
27
 
24
28
  #p TripLeg.select(:cancel_code).distinct(:cancel_code)
25
29
  #p TripLeg.filter{ cancel_code >1 }.count
26
30
 
27
- #p TripLeg.first(:trip_number=>98,:leg_number=>3).fill_hash(
28
- # [:kid_date,:planned_departure_date_time_gmt]
31
+ #p TripLeg.first(:trip_number=>85868,:leg_number=>4).fill_hash(
32
+ #p TripLeg.first(:trip_number=>87204,:leg_number=>2).fill_hash(
33
+ # [:kid_date,:planned_departure_date_time_gmt,:status,:deadhead,:leg_type_code,:trip__trip_type_code]
29
34
  #)
30
35
 
36
+ #pp TripLeg.first(:trip_number=>87204,:leg_number=>2).trip.values
37
+
31
38
  #p QuoteLeg.filter{kid_date > (Date.today-30)}.filter{block_time_actual > 0}.first.confirmation_number
32
39
  #p t.actual_departure_date_time_gmt.to_time
33
40
  #p t.actual_departure_date_time_gmt.to_time.utc
data/spec/spec_helper.rb CHANGED
@@ -3,6 +3,7 @@ require_relative '../lib/fossil'
3
3
  require 'rspec'
4
4
  require 'rr'
5
5
  require 'logger'
6
+ require 'pp'
6
7
 
7
8
  p RUBY_VERSION
8
9
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 5
8
- - 34
9
- version: 0.5.34
8
+ - 35
9
+ version: 0.5.35
10
10
  platform: ruby
11
11
  authors:
12
12
  - Daniel Sudol
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-10 00:00:00 -08:00
18
+ date: 2011-03-15 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -72,6 +72,9 @@ files:
72
72
  - Rakefile
73
73
  - VERSION
74
74
  - fossil.gemspec
75
+ - lib/dbr_models/aircraft.rb
76
+ - lib/dbr_models/airport.rb
77
+ - lib/dbr_models/airport_fbo.rb
75
78
  - lib/dbr_models/flight_log_expense.rb
76
79
  - lib/dbr_models/group_cost.rb
77
80
  - lib/dbr_models/personnel.rb
@@ -107,6 +110,7 @@ files:
107
110
  - lib/models/cargo.rb
108
111
  - lib/models/check_group.rb
109
112
  - lib/models/checklist.rb
113
+ - lib/models/city_cost.rb
110
114
  - lib/models/city_pair.rb
111
115
  - lib/models/code.rb
112
116
  - lib/models/comment.rb
@@ -198,6 +202,7 @@ files:
198
202
  - spec/helper_classes.rb
199
203
  - spec/helper_methods.rb
200
204
  - spec/models/airport_fbo_spec.rb
205
+ - spec/models/city_pair_spec.rb
201
206
  - spec/models/code_spec.rb
202
207
  - spec/models/flight_log_expense_spec.rb
203
208
  - spec/models/quote_spec.rb
@@ -270,4 +275,5 @@ test_files:
270
275
  - spec/models/vendor_document_spec.rb
271
276
  - spec/models/trip_spec.rb
272
277
  - spec/models/airport_fbo_spec.rb
278
+ - spec/models/city_pair_spec.rb
273
279
  - spec/be_model_with_values_matcher.rb