sequel 3.31.0 → 3.32.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.
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