fossil 0.3.49 → 0.4.0

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/Rakefile CHANGED
@@ -9,7 +9,7 @@
9
9
  gemspec.description = "Access FOS/betrieve db with this Sequel based orm wrapper"
10
10
  gemspec.email = "plardin@xojet.com"
11
11
  gemspec.homepage = ""
12
- gemspec.add_dependency('sequel', '= 3.10.0')
12
+ gemspec.add_dependency('sequel', '= 3.12.0')
13
13
  gemspec.add_dependency('activesupport', '= 2.3.5')
14
14
  gemspec.add_development_dependency('rspec')
15
15
  gemspec.authors = ["Patrick Lardin, Daniel Sudol"]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.49
1
+ 0.4.0
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.49"
8
+ s.version = "0.4.0"
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-05-09}
12
+ s.date = %q{2010-06-08}
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 = [
@@ -134,7 +134,7 @@ Gem::Specification.new do |s|
134
134
  "spec/helper_classes.rb",
135
135
  "spec/helper_methods.rb",
136
136
  "spec/models/code_spec.rb",
137
- "spec/models/quote.rb",
137
+ "spec/models/quote_spec.rb",
138
138
  "spec/models/trip_leg_spec.rb",
139
139
  "spec/models/trip_spec.rb",
140
140
  "spec/models/vendor_document_spec.rb",
@@ -150,7 +150,7 @@ Gem::Specification.new do |s|
150
150
  s.homepage = %q{}
151
151
  s.rdoc_options = ["--charset=UTF-8"]
152
152
  s.require_paths = ["lib"]
153
- s.rubygems_version = %q{1.3.5}
153
+ s.rubygems_version = %q{1.3.6}
154
154
  s.summary = %q{Sequel orm wrapper to FOS}
155
155
  s.test_files = [
156
156
  "spec/hash_extentions_spec.rb",
@@ -166,8 +166,8 @@ Gem::Specification.new do |s|
166
166
  "spec/helper_classes.rb",
167
167
  "spec/models/code_spec.rb",
168
168
  "spec/models/trip_leg_spec.rb",
169
+ "spec/models/quote_spec.rb",
169
170
  "spec/models/vendor_document_spec.rb",
170
- "spec/models/quote.rb",
171
171
  "spec/models/trip_spec.rb",
172
172
  "spec/be_model_with_values_matcher.rb"
173
173
  ]
@@ -177,16 +177,16 @@ Gem::Specification.new do |s|
177
177
  s.specification_version = 3
178
178
 
179
179
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
180
- s.add_runtime_dependency(%q<sequel>, ["= 3.10.0"])
180
+ s.add_runtime_dependency(%q<sequel>, ["= 3.12.0"])
181
181
  s.add_runtime_dependency(%q<activesupport>, ["= 2.3.5"])
182
182
  s.add_development_dependency(%q<rspec>, [">= 0"])
183
183
  else
184
- s.add_dependency(%q<sequel>, ["= 3.10.0"])
184
+ s.add_dependency(%q<sequel>, ["= 3.12.0"])
185
185
  s.add_dependency(%q<activesupport>, ["= 2.3.5"])
186
186
  s.add_dependency(%q<rspec>, [">= 0"])
187
187
  end
188
188
  else
189
- s.add_dependency(%q<sequel>, ["= 3.10.0"])
189
+ s.add_dependency(%q<sequel>, ["= 3.12.0"])
190
190
  s.add_dependency(%q<activesupport>, ["= 2.3.5"])
191
191
  s.add_dependency(%q<rspec>, [">= 0"])
192
192
  end
data/lib/fossil.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  require 'rubygems'
2
2
 
3
3
  begin
4
- gem 'sequel', '=3.10.0'
4
+ gem 'sequel', '=3.12.0'
5
5
  require('sequel')
6
6
  rescue LoadError => e
7
- raise("To use Fossil you need the sequel gem:\n '$ sudo gem install sequel -v=3.10.0'")
7
+ raise("To use Fossil you need the sequel gem:\n '$ sudo gem install sequel -v=3.12.0'")
8
8
  end
9
9
 
10
10
  begin
@@ -1,5 +1,7 @@
1
1
  class FlightLogExpense < Sequel::Model(:'flight log expenses')
2
2
 
3
+ code_association :expense_type_value, :'type', :flight_log_expense_type
4
+
3
5
  #### BEGIN GENERATED SECTION ####
4
6
  set_primary_key [:'kid - user', :'kid - mult', :'kid - comm', :'kid - date', :'kid - time']
5
7
 
@@ -42,6 +42,11 @@ class TripLeg < Sequel::Model(:'trip legs')
42
42
  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 }
43
43
  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']}"))}
44
44
  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']}"))}
45
+ many_to_one :comment_value, :class=>:Comment, :key=>primary_key#, :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"=>self[:"kid - comm"]) }
46
+ 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"=>self[:"fueler comment"]) }
47
+ many_to_one :catering_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"=>self[:"catering comment"]) }
48
+ many_to_one :limo_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"=>self[:"limo comment"]) }
49
+ many_to_one :crew_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"=>self[:"mics serv 2 comment"]) }
45
50
 
46
51
  # One to many associations with composite primary keys
47
52
  o_to_n :crew_legs, :class=>:CrewLeg, :prefix=>'trip leg'
@@ -11,12 +11,25 @@ module Sequel
11
11
  ds.extend(DatasetMethods)
12
12
  ds
13
13
  end
14
-
15
- # def connect(server)
16
- # conn = super(server)
17
- # conn.autocommit = false if RAILS_ENV == 'test'
18
- # conn
19
- # end
14
+
15
+ # special transaction method since pervasive does not support transactions
16
+ # through sql "start transaction" statement. be sure to use begin/rescue
17
+ # if you want to recover from failure since this method throws errors
18
+ def do_transaction(&block)
19
+ synchronize do |conn|
20
+ begin
21
+ conn.autocommit = false
22
+ yield conn
23
+ r = conn.run("commit"); r.drop
24
+ rescue Exception,Error => se
25
+ r = conn.run("rollback"); r.drop
26
+ raise_error(se, :disconnect=>se.message.match(/08S01/) )
27
+ ensure
28
+ conn.autocommit = true
29
+ r.drop if r
30
+ end
31
+ end
32
+ end
20
33
 
21
34
  def select_fields(table, *fields)
22
35
  dataset.select_fields(table, *fields)
@@ -1,4 +1,4 @@
1
- require 'active_support/json'
1
+ #require 'active_support/json'
2
2
 
3
3
  module Sequel
4
4
  module Serialization
File without changes
@@ -106,4 +106,38 @@ describe TripLeg do
106
106
  tl.total_trip_statute_miles.should == 10.0
107
107
  end
108
108
 
109
+ describe 'crew brief fields' do
110
+ before :all do
111
+ set_fos_db([TripLeg,Comment])
112
+ @trip_leg = TripLeg.first(:trip_number=>50885,:leg_number=>1)
113
+ # @trip_leg = TripLeg.first(:trip_number=>76478,:leg_number=>1)
114
+ # @trip_leg = TripLeg.first(~:fueler_comment=>0,~:catering_comment=>0,~:limo_comment=>0)
115
+ end
116
+
117
+ it "comment field" do
118
+ @trip_leg.comment_value.comment.should =="Contact: Chris Kelley 415-927-2123"
119
+ end
120
+
121
+ it "catering departure value" do
122
+ @trip_leg.catering_departure.should == 1
123
+ end
124
+
125
+ it "departure fbo comment value" do
126
+ @trip_leg.departure_fbo_comment_value.comment.should == "3028 Peacekeeper Way\r\nSacramento, CA 95652"
127
+ end
128
+
129
+ it "catering comment value" do
130
+ @trip_leg.catering_comment_value.comment.should == "Catering: Standard drinks and snacks for all live legs"
131
+ end
132
+
133
+ it "limo comment value" do
134
+ @trip_leg.limo_comment_value.comment.should == "Transportation: Passenger arranged for all live legs"
135
+ end
136
+
137
+ it "crew fbo comment value" do
138
+ @trip_leg.crew_fbo_comment_value.should == nil
139
+ end
140
+ end
141
+
109
142
  end
143
+
@@ -10,7 +10,6 @@ describe "Trip" do
10
10
  trip = Trip.new(:kid_date=>1,:kid_time=>2,:kid_user=>3,:kid_mult=>4,:kid_comm=>5)
11
11
  mock(Code).valid_value_for_group?(254, :aircraft_document) {true}
12
12
  doc = VendorDocument.new(:file_name_prefix=>"TRIP", :file_name=>"whatever", :doc_type_value=> 254, :trip_number=>111)
13
- doc.save()
14
13
  trip.add_attachment(doc)
15
14
  doc.kid_user.should == "ADMN"
16
15
  doc.image_name.should == "TRIP/whatever"
@@ -0,0 +1,26 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Sequel::Pervasive::DatabaseMethods do
4
+
5
+ it "supports transactions" do
6
+ set_fos_db([Trip])
7
+ t = Trip.first
8
+ ### surround with begin/rescue
9
+ begin
10
+ ### testing do_transaction
11
+ r = nil
12
+ Trip.db.do_transaction do |conn|
13
+ # increment the value of fs_visa by one
14
+ r = conn.run(Trip.filter(t.pk_hash).update_sql(:fs_visa=>t.fs_visa.succ))
15
+ raise(Exception, 'testing do_transaction transactions')
16
+ end
17
+ ### end testing do_transaction
18
+ rescue StandardError => e
19
+ ensure
20
+ r.drop if r
21
+ end
22
+ # check if the values have changed
23
+ Trip.first.fs_visa.should == t.fs_visa
24
+ end
25
+
26
+ end
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/../../spec_helper'
2
2
  require File.dirname(__FILE__) + '/../spec_helper_tables' unless metaclass.class_variable_defined? :@@set_up_demo_tables
3
- require 'active_resource'
3
+ #require 'active_resource'
4
4
 
5
5
  describe "Sequel::Serializer" do
6
6
 
@@ -73,14 +73,14 @@ describe "Sequel::Serializer" do
73
73
  } )
74
74
  end
75
75
 
76
- it "converts to ActiveResource::Base from xml" do
77
- class Dudeman < ActiveResource::Base; self.site = ""; end
78
- hash = Hash.from_xml( Dude.first.to_xml(:only=> :name, :include=> :horses) )
79
- dudeman = Dudeman.new( hash.values.first )
80
- dudeman.name.should == 'dano'
81
- dudeman.horses.size.should == 2
82
- dudeman.horses.first.name == 'pinto'
83
- end
76
+ # it "converts to ActiveResource::Base from xml" do
77
+ # class Dudeman < ActiveResource::Base; self.site = ""; end
78
+ # hash = Hash.from_xml( Dude.first.to_xml(:only=> :name, :include=> :horses) )
79
+ # dudeman = Dudeman.new( hash.values.first )
80
+ # dudeman.name.should == 'dano'
81
+ # dudeman.horses.size.should == 2
82
+ # dudeman.horses.first.name == 'pinto'
83
+ # end
84
84
 
85
85
  end
86
86
 
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', :loggers=>[Logger.new($stdout)])
10
+ DB_FOS = Sequel.odbc('fos')#, :loggers=>[Logger.new($stdout)])
11
11
  DB_FOS.extend(Sequel::Pervasive::DatabaseMethods)
12
12
  end
13
13
 
@@ -22,32 +22,61 @@ Spec::Runner.configure do |config|
22
22
  config.include(BeModelWithValuesMatcher)
23
23
  end
24
24
 
25
- # These are special modifictations for testing with mysql db instead of pervasive
26
- # if its not windows or linux where pervasive db is running ) .. modify the
27
- # pervasive adapter to act more like mysql, so that the tests can still run.
28
- # This is not ideal, but it works
29
- unless RUBY_PLATFORM =~ /mswin32|linux/
25
+ module Sequel::Pervasive::DatabaseMethods
30
26
 
31
- module Sequel::Pervasive::DatabaseMethods
32
- def auto_increment_sql; "AUTO_INCREMENT" end
33
- def begin_transaction_sql; "BEGIN" end
34
- def commit_transaction_sql; "COMMIT" end
35
- def rollback_transaction_sql; "ROLLBACK" end
27
+ # turn autocommit offffffffff
28
+ def connect(server)
29
+ conn = super(server)
30
+ conn.autocommit = false
31
+ conn
36
32
  end
37
33
 
38
- module Sequel::Pervasive::DatasetMethods
39
- def quoted_identifier(name, convert=true)
40
- convert ? "`#{convert_aliased_col_to_real_col(name)}`" : "`#{name}`"
41
- end
42
-
43
- def select_clause_methods
44
- super
45
- end
46
-
47
- def select_limit_sql(sql)
48
- super(sql)
49
- end
50
- end
34
+ # overriding execute to be able to rollback after each call
35
+ # def execute(sql, opts={})
36
+ # log_info(sql)
37
+ # synchronize(opts[:server]) do |conn|
38
+ # begin
39
+ # r = conn.run(sql)
40
+ # yield(r) if block_given?
41
+ # rescue Exception => e
42
+ # raise_error(e, :disconnect=>e.message.match(/08S01/))
43
+ # ensure
44
+ # ######### ROLLLLLLLBACK ###########
45
+ # r1 = conn.run("rollback"); r1.drop
46
+ # r.drop if r
47
+ # end
48
+ # nil
49
+ # end
50
+ # end
51
51
 
52
52
  end
53
53
 
54
+ # These are special modifictations for testing with mysql db instead of pervasive
55
+ # if its not windows or linux where pervasive db is running ) .. modify the
56
+ # pervasive adapter to act more like mysql, so that the tests can still run.
57
+ # This is not ideal, but it works
58
+ #unless RUBY_PLATFORM =~ /mswin32|linux/
59
+ #
60
+ # module Sequel::Pervasive::DatabaseMethods
61
+ # def auto_increment_sql; "AUTO_INCREMENT" end
62
+ # def begin_transaction_sql; "BEGIN" end
63
+ # def commit_transaction_sql; "COMMIT" end
64
+ # def rollback_transaction_sql; "ROLLBACK" end
65
+ # end
66
+ #
67
+ # module Sequel::Pervasive::DatasetMethods
68
+ # def quoted_identifier(name, convert=true)
69
+ # convert ? "`#{convert_aliased_col_to_real_col(name)}`" : "`#{name}`"
70
+ # end
71
+ #
72
+ # def select_clause_methods
73
+ # super
74
+ # end
75
+ #
76
+ # def select_limit_sql(sql)
77
+ # super(sql)
78
+ # end
79
+ # end
80
+ #
81
+ #end
82
+
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fossil
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.49
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 4
8
+ - 0
9
+ version: 0.4.0
5
10
  platform: ruby
6
11
  authors:
7
12
  - Patrick Lardin, Daniel Sudol
@@ -9,39 +14,49 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-05-09 00:00:00 -07:00
17
+ date: 2010-06-08 00:00:00 -07:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: sequel
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - "="
22
26
  - !ruby/object:Gem::Version
23
- version: 3.10.0
24
- version:
27
+ segments:
28
+ - 3
29
+ - 12
30
+ - 0
31
+ version: 3.12.0
32
+ type: :runtime
33
+ version_requirements: *id001
25
34
  - !ruby/object:Gem::Dependency
26
35
  name: activesupport
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
30
38
  requirements:
31
39
  - - "="
32
40
  - !ruby/object:Gem::Version
41
+ segments:
42
+ - 2
43
+ - 3
44
+ - 5
33
45
  version: 2.3.5
34
- version:
46
+ type: :runtime
47
+ version_requirements: *id002
35
48
  - !ruby/object:Gem::Dependency
36
49
  name: rspec
37
- type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
40
52
  requirements:
41
53
  - - ">="
42
54
  - !ruby/object:Gem::Version
55
+ segments:
56
+ - 0
43
57
  version: "0"
44
- version:
58
+ type: :development
59
+ version_requirements: *id003
45
60
  description: Access FOS/betrieve db with this Sequel based orm wrapper
46
61
  email: plardin@xojet.com
47
62
  executables: []
@@ -172,7 +187,7 @@ files:
172
187
  - spec/helper_classes.rb
173
188
  - spec/helper_methods.rb
174
189
  - spec/models/code_spec.rb
175
- - spec/models/quote.rb
190
+ - spec/models/quote_spec.rb
176
191
  - spec/models/trip_leg_spec.rb
177
192
  - spec/models/trip_spec.rb
178
193
  - spec/models/vendor_document_spec.rb
@@ -197,18 +212,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
197
212
  requirements:
198
213
  - - ">="
199
214
  - !ruby/object:Gem::Version
215
+ segments:
216
+ - 0
200
217
  version: "0"
201
- version:
202
218
  required_rubygems_version: !ruby/object:Gem::Requirement
203
219
  requirements:
204
220
  - - ">="
205
221
  - !ruby/object:Gem::Version
222
+ segments:
223
+ - 0
206
224
  version: "0"
207
- version:
208
225
  requirements: []
209
226
 
210
227
  rubyforge_project:
211
- rubygems_version: 1.3.5
228
+ rubygems_version: 1.3.6
212
229
  signing_key:
213
230
  specification_version: 3
214
231
  summary: Sequel orm wrapper to FOS
@@ -226,7 +243,7 @@ test_files:
226
243
  - spec/helper_classes.rb
227
244
  - spec/models/code_spec.rb
228
245
  - spec/models/trip_leg_spec.rb
246
+ - spec/models/quote_spec.rb
229
247
  - spec/models/vendor_document_spec.rb
230
- - spec/models/quote.rb
231
248
  - spec/models/trip_spec.rb
232
249
  - spec/be_model_with_values_matcher.rb