sequel 3.31.0 → 3.32.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/CHANGELOG +54 -0
  2. data/MIT-LICENSE +1 -1
  3. data/doc/advanced_associations.rdoc +17 -0
  4. data/doc/association_basics.rdoc +74 -30
  5. data/doc/release_notes/3.32.0.txt +202 -0
  6. data/doc/schema_modification.rdoc +1 -1
  7. data/lib/sequel/adapters/jdbc/db2.rb +7 -0
  8. data/lib/sequel/adapters/jdbc/derby.rb +13 -0
  9. data/lib/sequel/adapters/jdbc/h2.rb +10 -1
  10. data/lib/sequel/adapters/jdbc/hsqldb.rb +7 -0
  11. data/lib/sequel/adapters/jdbc/oracle.rb +7 -0
  12. data/lib/sequel/adapters/mock.rb +4 -0
  13. data/lib/sequel/adapters/mysql.rb +3 -0
  14. data/lib/sequel/adapters/oracle.rb +7 -3
  15. data/lib/sequel/adapters/shared/db2.rb +9 -2
  16. data/lib/sequel/adapters/shared/mssql.rb +48 -2
  17. data/lib/sequel/adapters/shared/mysql.rb +24 -4
  18. data/lib/sequel/adapters/shared/oracle.rb +7 -6
  19. data/lib/sequel/adapters/shared/progress.rb +1 -1
  20. data/lib/sequel/adapters/shared/sqlite.rb +16 -10
  21. data/lib/sequel/core.rb +22 -0
  22. data/lib/sequel/database/query.rb +13 -4
  23. data/lib/sequel/dataset/actions.rb +20 -11
  24. data/lib/sequel/dataset/mutation.rb +7 -1
  25. data/lib/sequel/dataset/prepared_statements.rb +11 -0
  26. data/lib/sequel/dataset/sql.rb +21 -24
  27. data/lib/sequel/extensions/query.rb +1 -1
  28. data/lib/sequel/model.rb +5 -2
  29. data/lib/sequel/model/associations.rb +70 -16
  30. data/lib/sequel/model/base.rb +11 -6
  31. data/lib/sequel/plugins/active_model.rb +13 -1
  32. data/lib/sequel/plugins/composition.rb +43 -10
  33. data/lib/sequel/plugins/many_through_many.rb +4 -1
  34. data/lib/sequel/plugins/nested_attributes.rb +65 -10
  35. data/lib/sequel/plugins/serialization.rb +13 -8
  36. data/lib/sequel/plugins/serialization_modification_detection.rb +22 -10
  37. data/lib/sequel/version.rb +1 -1
  38. data/spec/adapters/mssql_spec.rb +33 -10
  39. data/spec/adapters/mysql_spec.rb +111 -91
  40. data/spec/adapters/oracle_spec.rb +18 -0
  41. data/spec/core/database_spec.rb +1 -0
  42. data/spec/core/dataset_spec.rb +110 -15
  43. data/spec/extensions/active_model_spec.rb +13 -0
  44. data/spec/extensions/many_through_many_spec.rb +14 -14
  45. data/spec/extensions/query_spec.rb +6 -0
  46. data/spec/extensions/serialization_modification_detection_spec.rb +36 -1
  47. data/spec/extensions/serialization_spec.rb +9 -0
  48. data/spec/integration/associations_test.rb +278 -154
  49. data/spec/integration/dataset_test.rb +39 -2
  50. data/spec/integration/plugin_test.rb +63 -3
  51. data/spec/integration/prepared_statement_test.rb +10 -3
  52. data/spec/integration/schema_test.rb +61 -14
  53. data/spec/integration/transaction_test.rb +10 -0
  54. data/spec/model/associations_spec.rb +170 -80
  55. data/spec/model/hooks_spec.rb +40 -0
  56. metadata +4 -2
@@ -510,4 +510,44 @@ describe "Model#after_commit and #after_rollback" do
510
510
  end
511
511
  @db.sqls.should == ['BEGIN -- test', 'BEGIN', 'ad', 'ROLLBACK', 'adr', 'COMMIT -- test']
512
512
  end
513
+
514
+ specify "should not call after_commit if use_after_commit_rollback is false" do
515
+ @o.use_after_commit_rollback = false
516
+ @o.save
517
+ @db.sqls.should == ['BEGIN', 'as', 'COMMIT']
518
+ end
519
+
520
+ specify "should not call after_rollback if use_after_commit_rollback is false" do
521
+ @o.use_after_commit_rollback = false
522
+ @o.rb = true
523
+ @o.save
524
+ @db.sqls.should == ['BEGIN', 'as', 'ROLLBACK']
525
+ end
526
+
527
+ specify "should not call after_destroy_commit if use_after_commit_rollback is false" do
528
+ @o.use_after_commit_rollback = false
529
+ @o.destroy
530
+ @db.sqls.should == ['BEGIN', 'ad', 'COMMIT']
531
+ end
532
+
533
+ specify "should not call after_destroy_rollback for save if use_after_commit_rollback is false" do
534
+ @o.use_after_commit_rollback = false
535
+ @o.rb = true
536
+ @o.destroy
537
+ @db.sqls.should == ['BEGIN', 'ad', 'ROLLBACK']
538
+ end
539
+
540
+ specify "should handle use_after_commit_rollback at the class level" do
541
+ @m.use_after_commit_rollback = false
542
+ @o.save
543
+ @db.sqls.should == ['BEGIN', 'as', 'COMMIT']
544
+ end
545
+
546
+ specify "should handle use_after_commit_rollback when subclassing" do
547
+ @m.use_after_commit_rollback = false
548
+ o = Class.new(@m).load({})
549
+ @db.sqls
550
+ o.save
551
+ @db.sqls.should == ['BEGIN', 'as', 'COMMIT']
552
+ end
513
553
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.31.0
4
+ version: 3.32.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-03 00:00:00.000000000 Z
12
+ date: 2012-02-01 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: The Database Toolkit for Ruby
15
15
  email: code@jeremyevans.net
@@ -90,6 +90,7 @@ extra_rdoc_files:
90
90
  - doc/release_notes/3.29.0.txt
91
91
  - doc/release_notes/3.30.0.txt
92
92
  - doc/release_notes/3.31.0.txt
93
+ - doc/release_notes/3.32.0.txt
93
94
  files:
94
95
  - MIT-LICENSE
95
96
  - CHANGELOG
@@ -158,6 +159,7 @@ files:
158
159
  - doc/release_notes/3.29.0.txt
159
160
  - doc/release_notes/3.30.0.txt
160
161
  - doc/release_notes/3.31.0.txt
162
+ - doc/release_notes/3.32.0.txt
161
163
  - doc/sharding.rdoc
162
164
  - doc/sql.rdoc
163
165
  - doc/validations.rdoc