fossil 0.3.49 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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