sequel 3.12.1 → 3.13.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/CHANGELOG +42 -0
- data/README.rdoc +137 -118
- data/Rakefile +21 -66
- data/doc/active_record.rdoc +9 -9
- data/doc/advanced_associations.rdoc +59 -188
- data/doc/association_basics.rdoc +15 -2
- data/doc/cheat_sheet.rdoc +38 -33
- data/doc/dataset_filtering.rdoc +16 -7
- data/doc/prepared_statements.rdoc +7 -7
- data/doc/querying.rdoc +5 -4
- data/doc/release_notes/3.13.0.txt +210 -0
- data/doc/sharding.rdoc +1 -1
- data/doc/sql.rdoc +5 -5
- data/doc/validations.rdoc +11 -11
- data/lib/sequel/adapters/ado.rb +1 -1
- data/lib/sequel/adapters/do.rb +3 -3
- data/lib/sequel/adapters/firebird.rb +3 -3
- data/lib/sequel/adapters/jdbc/h2.rb +39 -0
- data/lib/sequel/adapters/jdbc/mysql.rb +5 -0
- data/lib/sequel/adapters/jdbc/oracle.rb +3 -3
- data/lib/sequel/adapters/mysql.rb +7 -4
- data/lib/sequel/adapters/oracle.rb +3 -3
- data/lib/sequel/adapters/shared/mssql.rb +10 -1
- data/lib/sequel/adapters/shared/mysql.rb +63 -0
- data/lib/sequel/adapters/shared/postgres.rb +61 -3
- data/lib/sequel/adapters/sqlite.rb +105 -18
- data/lib/sequel/connection_pool.rb +31 -30
- data/lib/sequel/core.rb +58 -58
- data/lib/sequel/core_sql.rb +52 -43
- data/lib/sequel/database/misc.rb +11 -0
- data/lib/sequel/database/query.rb +55 -17
- data/lib/sequel/dataset/actions.rb +2 -1
- data/lib/sequel/dataset/query.rb +2 -3
- data/lib/sequel/dataset/sql.rb +24 -11
- data/lib/sequel/extensions/schema_dumper.rb +1 -1
- data/lib/sequel/metaprogramming.rb +4 -0
- data/lib/sequel/model.rb +37 -19
- data/lib/sequel/model/associations.rb +33 -25
- data/lib/sequel/model/base.rb +2 -2
- data/lib/sequel/model/plugins.rb +7 -2
- data/lib/sequel/plugins/active_model.rb +1 -1
- data/lib/sequel/plugins/association_pks.rb +2 -2
- data/lib/sequel/plugins/association_proxies.rb +1 -1
- data/lib/sequel/plugins/boolean_readers.rb +2 -2
- data/lib/sequel/plugins/class_table_inheritance.rb +10 -2
- data/lib/sequel/plugins/identity_map.rb +3 -3
- data/lib/sequel/plugins/instance_hooks.rb +1 -1
- data/lib/sequel/plugins/json_serializer.rb +212 -0
- data/lib/sequel/plugins/lazy_attributes.rb +1 -1
- data/lib/sequel/plugins/list.rb +174 -0
- data/lib/sequel/plugins/many_through_many.rb +2 -2
- data/lib/sequel/plugins/rcte_tree.rb +6 -7
- data/lib/sequel/plugins/tree.rb +118 -0
- data/lib/sequel/plugins/xml_serializer.rb +321 -0
- data/lib/sequel/sql.rb +315 -206
- data/lib/sequel/timezones.rb +40 -17
- data/lib/sequel/version.rb +8 -2
- data/spec/adapters/firebird_spec.rb +2 -2
- data/spec/adapters/informix_spec.rb +1 -1
- data/spec/adapters/mssql_spec.rb +2 -2
- data/spec/adapters/mysql_spec.rb +2 -2
- data/spec/adapters/oracle_spec.rb +1 -1
- data/spec/adapters/postgres_spec.rb +36 -6
- data/spec/adapters/spec_helper.rb +2 -2
- data/spec/adapters/sqlite_spec.rb +1 -1
- data/spec/core/connection_pool_spec.rb +3 -3
- data/spec/core/core_sql_spec.rb +31 -13
- data/spec/core/database_spec.rb +39 -2
- data/spec/core/dataset_spec.rb +24 -12
- data/spec/core/expression_filters_spec.rb +5 -1
- data/spec/core/object_graph_spec.rb +1 -1
- data/spec/core/schema_generator_spec.rb +1 -1
- data/spec/core/schema_spec.rb +1 -1
- data/spec/core/spec_helper.rb +1 -1
- data/spec/core/version_spec.rb +1 -1
- data/spec/extensions/active_model_spec.rb +82 -67
- data/spec/extensions/association_dependencies_spec.rb +1 -1
- data/spec/extensions/association_pks_spec.rb +1 -1
- data/spec/extensions/association_proxies_spec.rb +1 -1
- data/spec/extensions/blank_spec.rb +1 -1
- data/spec/extensions/boolean_readers_spec.rb +1 -1
- data/spec/extensions/caching_spec.rb +1 -1
- data/spec/extensions/class_table_inheritance_spec.rb +3 -2
- data/spec/extensions/composition_spec.rb +2 -5
- data/spec/extensions/force_encoding_spec.rb +3 -1
- data/spec/extensions/hook_class_methods_spec.rb +1 -1
- data/spec/extensions/identity_map_spec.rb +1 -1
- data/spec/extensions/inflector_spec.rb +1 -1
- data/spec/extensions/instance_filters_spec.rb +1 -1
- data/spec/extensions/instance_hooks_spec.rb +1 -1
- data/spec/extensions/json_serializer_spec.rb +154 -0
- data/spec/extensions/lazy_attributes_spec.rb +1 -2
- data/spec/extensions/list_spec.rb +251 -0
- data/spec/extensions/looser_typecasting_spec.rb +1 -1
- data/spec/extensions/many_through_many_spec.rb +3 -3
- data/spec/extensions/migration_spec.rb +1 -1
- data/spec/extensions/named_timezones_spec.rb +5 -6
- data/spec/extensions/nested_attributes_spec.rb +1 -1
- data/spec/extensions/optimistic_locking_spec.rb +1 -1
- data/spec/extensions/pagination_spec.rb +1 -1
- data/spec/extensions/pretty_table_spec.rb +1 -1
- data/spec/extensions/query_spec.rb +1 -1
- data/spec/extensions/rcte_tree_spec.rb +1 -1
- data/spec/extensions/schema_dumper_spec.rb +3 -2
- data/spec/extensions/schema_spec.rb +1 -1
- data/spec/extensions/serialization_spec.rb +6 -2
- data/spec/extensions/sharding_spec.rb +1 -1
- data/spec/extensions/single_table_inheritance_spec.rb +1 -1
- data/spec/extensions/skip_create_refresh_spec.rb +1 -1
- data/spec/extensions/spec_helper.rb +7 -3
- data/spec/extensions/sql_expr_spec.rb +1 -1
- data/spec/extensions/string_date_time_spec.rb +1 -1
- data/spec/extensions/string_stripper_spec.rb +1 -1
- data/spec/extensions/subclasses_spec.rb +1 -1
- data/spec/extensions/tactical_eager_loading_spec.rb +1 -1
- data/spec/extensions/thread_local_timezones_spec.rb +1 -1
- data/spec/extensions/timestamps_spec.rb +1 -1
- data/spec/extensions/touch_spec.rb +1 -1
- data/spec/extensions/tree_spec.rb +119 -0
- data/spec/extensions/typecast_on_load_spec.rb +1 -1
- data/spec/extensions/update_primary_key_spec.rb +1 -1
- data/spec/extensions/validation_class_methods_spec.rb +1 -1
- data/spec/extensions/validation_helpers_spec.rb +1 -1
- data/spec/extensions/xml_serializer_spec.rb +142 -0
- data/spec/integration/associations_test.rb +1 -1
- data/spec/integration/database_test.rb +1 -1
- data/spec/integration/dataset_test.rb +29 -14
- data/spec/integration/eager_loader_test.rb +1 -1
- data/spec/integration/migrator_test.rb +1 -1
- data/spec/integration/model_test.rb +1 -1
- data/spec/integration/plugin_test.rb +316 -1
- data/spec/integration/prepared_statement_test.rb +1 -1
- data/spec/integration/schema_test.rb +8 -8
- data/spec/integration/spec_helper.rb +1 -1
- data/spec/integration/timezone_test.rb +1 -1
- data/spec/integration/transaction_test.rb +35 -20
- data/spec/integration/type_test.rb +1 -1
- data/spec/model/association_reflection_spec.rb +1 -1
- data/spec/model/associations_spec.rb +49 -34
- data/spec/model/base_spec.rb +1 -1
- data/spec/model/dataset_methods_spec.rb +4 -4
- data/spec/model/eager_loading_spec.rb +1 -1
- data/spec/model/hooks_spec.rb +1 -1
- data/spec/model/inflector_spec.rb +1 -1
- data/spec/model/model_spec.rb +7 -1
- data/spec/model/plugins_spec.rb +1 -1
- data/spec/model/record_spec.rb +1 -3
- data/spec/model/spec_helper.rb +2 -2
- data/spec/model/validations_spec.rb +1 -1
- metadata +29 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require File.join(File.dirname(__FILE__), "spec_helper")
|
|
1
|
+
require File.join(File.dirname(File.expand_path(__FILE__)), "spec_helper")
|
|
2
2
|
|
|
3
3
|
describe Sequel::Model, "associate" do
|
|
4
4
|
it "should use explicit class if given a class, symbol, or string" do
|
|
@@ -461,6 +461,21 @@ describe Sequel::Model, "many_to_one" do
|
|
|
461
461
|
@c2.instance_methods(false).collect{|x| x.to_s}.should_not(include('parent='))
|
|
462
462
|
end
|
|
463
463
|
|
|
464
|
+
it "should add associations methods to the :methods_module option" do
|
|
465
|
+
m = Module.new
|
|
466
|
+
@c2.many_to_one :parent, :class => @c2, :methods_module=>m
|
|
467
|
+
m.instance_methods.collect{|x| x.to_s}.should(include('parent'))
|
|
468
|
+
m.instance_methods.collect{|x| x.to_s}.should(include('parent='))
|
|
469
|
+
@c2.instance_methods.collect{|x| x.to_s}.should_not(include('parent'))
|
|
470
|
+
@c2.instance_methods.collect{|x| x.to_s}.should_not(include('parent='))
|
|
471
|
+
end
|
|
472
|
+
|
|
473
|
+
it "should add associations methods directly to class if :methods_module is the class itself" do
|
|
474
|
+
@c2.many_to_one :parent, :class => @c2, :methods_module=>@c2
|
|
475
|
+
@c2.instance_methods(false).collect{|x| x.to_s}.should(include('parent'))
|
|
476
|
+
@c2.instance_methods(false).collect{|x| x.to_s}.should(include('parent='))
|
|
477
|
+
end
|
|
478
|
+
|
|
464
479
|
it "should raise an error if trying to set a model object that doesn't have a valid primary key" do
|
|
465
480
|
@c2.many_to_one :parent, :class => @c2
|
|
466
481
|
p = @c2.new
|
|
@@ -485,15 +500,15 @@ describe Sequel::Model, "many_to_one" do
|
|
|
485
500
|
h = []
|
|
486
501
|
@c2.many_to_one :parent, :class => @c2, :before_set=>[proc{|x,y| h << x.pk; h << (y ? -y.pk : :y)}, :blah], :after_set=>proc{h << 3}
|
|
487
502
|
@c2.class_eval do
|
|
488
|
-
|
|
503
|
+
class_variable_set(:@@blah, h)
|
|
489
504
|
def []=(a, v)
|
|
490
|
-
a == :parent_id ? (
|
|
505
|
+
a == :parent_id ? (self.class.send(:class_variable_get, :@@blah) << (v ? 4 : 5)) : super
|
|
491
506
|
end
|
|
492
507
|
def blah(x)
|
|
493
|
-
|
|
508
|
+
self.class.send(:class_variable_get, :@@blah) << (x ? x.pk : :x)
|
|
494
509
|
end
|
|
495
510
|
def blahr(x)
|
|
496
|
-
|
|
511
|
+
self.class.send(:class_variable_get, :@@blah) << 6
|
|
497
512
|
end
|
|
498
513
|
end
|
|
499
514
|
p = @c2.load(:id=>10)
|
|
@@ -509,9 +524,9 @@ describe Sequel::Model, "many_to_one" do
|
|
|
509
524
|
h = []
|
|
510
525
|
@c2.many_to_one :parent, :class => @c2, :after_load=>[proc{|x,y| h << [x.pk, y.pk]}, :al]
|
|
511
526
|
@c2.class_eval do
|
|
512
|
-
|
|
527
|
+
class_variable_set(:@@blah, h)
|
|
513
528
|
def al(v)
|
|
514
|
-
|
|
529
|
+
self.class.send(:class_variable_get, :@@blah) << v.pk
|
|
515
530
|
end
|
|
516
531
|
def @dataset.fetch_rows(sql)
|
|
517
532
|
yield({:id=>20})
|
|
@@ -553,15 +568,15 @@ describe Sequel::Model, "many_to_one" do
|
|
|
553
568
|
h = []
|
|
554
569
|
@c2.many_to_one :parent, :class => @c2, :before_set=>:bs, :after_set=>:as
|
|
555
570
|
@c2.class_eval do
|
|
556
|
-
|
|
571
|
+
class_variable_set(:@@blah, h)
|
|
557
572
|
def []=(a, v)
|
|
558
|
-
a == :parent_id ? (
|
|
573
|
+
a == :parent_id ? (self.class.send(:class_variable_get, :@@blah) << 5) : super
|
|
559
574
|
end
|
|
560
575
|
def bs(x)
|
|
561
|
-
|
|
576
|
+
self.class.send(:class_variable_get, :@@blah) << x.pk
|
|
562
577
|
end
|
|
563
578
|
def as(x)
|
|
564
|
-
|
|
579
|
+
self.class.send(:class_variable_get, :@@blah) << x.pk * 2
|
|
565
580
|
end
|
|
566
581
|
end
|
|
567
582
|
p.parent = c
|
|
@@ -968,12 +983,12 @@ describe Sequel::Model, "one_to_one" do
|
|
|
968
983
|
h = []
|
|
969
984
|
@c2.one_to_one :parent, :class => @c2, :before_set=>[proc{|x,y| h << x.pk; h << (y ? -y.pk : :y)}, :blah], :after_set=>proc{h << 3}
|
|
970
985
|
@c2.class_eval do
|
|
971
|
-
|
|
986
|
+
class_variable_set(:@@blah, h)
|
|
972
987
|
def blah(x)
|
|
973
|
-
|
|
988
|
+
self.class.send(:class_variable_get, :@@blah) << (x ? x.pk : :x)
|
|
974
989
|
end
|
|
975
990
|
def blahr(x)
|
|
976
|
-
|
|
991
|
+
self.class.send(:class_variable_get, :@@blah) << 6
|
|
977
992
|
end
|
|
978
993
|
end
|
|
979
994
|
p = @c2.load(:id=>10)
|
|
@@ -989,9 +1004,9 @@ describe Sequel::Model, "one_to_one" do
|
|
|
989
1004
|
h = []
|
|
990
1005
|
@c2.one_to_one :parent, :class => @c2, :after_load=>[proc{|x,y| h << [x.pk, y.pk]}, :al]
|
|
991
1006
|
@c2.class_eval do
|
|
992
|
-
|
|
1007
|
+
class_variable_set(:@@blah, h)
|
|
993
1008
|
def al(v)
|
|
994
|
-
|
|
1009
|
+
self.class.send(:class_variable_get, :@@blah) << v.pk
|
|
995
1010
|
end
|
|
996
1011
|
def @dataset.fetch_rows(sql)
|
|
997
1012
|
yield({:id=>20})
|
|
@@ -1033,15 +1048,15 @@ describe Sequel::Model, "one_to_one" do
|
|
|
1033
1048
|
h = []
|
|
1034
1049
|
@c2.one_to_one :parent, :class => @c2, :before_set=>:bs, :after_set=>:as
|
|
1035
1050
|
@c2.class_eval do
|
|
1036
|
-
|
|
1051
|
+
class_variable_set(:@@blah, h)
|
|
1037
1052
|
def []=(a, v)
|
|
1038
|
-
a == :node_id ? (
|
|
1053
|
+
a == :node_id ? (self.class.send(:class_variable_get, :@@blah) << 5) : super
|
|
1039
1054
|
end
|
|
1040
1055
|
def bs(x)
|
|
1041
|
-
|
|
1056
|
+
self.class.send(:class_variable_get, :@@blah) << x.pk
|
|
1042
1057
|
end
|
|
1043
1058
|
def as(x)
|
|
1044
|
-
|
|
1059
|
+
self.class.send(:class_variable_get, :@@blah) << x.pk * 2
|
|
1045
1060
|
end
|
|
1046
1061
|
end
|
|
1047
1062
|
p.parent = c
|
|
@@ -1724,18 +1739,18 @@ describe Sequel::Model, "one_to_many" do
|
|
|
1724
1739
|
h = []
|
|
1725
1740
|
@c2.one_to_many :attributes, :class => @c1, :before_add=>[proc{|x,y| h << x.pk; h << -y.pk}, :blah], :after_add=>proc{h << 3}, :before_remove=>:blah, :after_remove=>[:blahr]
|
|
1726
1741
|
@c2.class_eval do
|
|
1727
|
-
|
|
1742
|
+
class_variable_set(:@@blah, h)
|
|
1728
1743
|
def _add_attribute(v)
|
|
1729
|
-
|
|
1744
|
+
self.class.send(:class_variable_get, :@@blah) << 4
|
|
1730
1745
|
end
|
|
1731
1746
|
def _remove_attribute(v)
|
|
1732
|
-
|
|
1747
|
+
self.class.send(:class_variable_get, :@@blah) << 5
|
|
1733
1748
|
end
|
|
1734
1749
|
def blah(x)
|
|
1735
|
-
|
|
1750
|
+
self.class.send(:class_variable_get, :@@blah) << x.pk
|
|
1736
1751
|
end
|
|
1737
1752
|
def blahr(x)
|
|
1738
|
-
|
|
1753
|
+
self.class.send(:class_variable_get, :@@blah) << 6
|
|
1739
1754
|
end
|
|
1740
1755
|
end
|
|
1741
1756
|
p = @c2.load(:id=>10)
|
|
@@ -1751,9 +1766,9 @@ describe Sequel::Model, "one_to_many" do
|
|
|
1751
1766
|
h = []
|
|
1752
1767
|
@c2.one_to_many :attributes, :class => @c1, :after_load=>[proc{|x,y| h << [x.pk, y.collect{|z|z.pk}]}, :al]
|
|
1753
1768
|
@c2.class_eval do
|
|
1754
|
-
|
|
1769
|
+
class_variable_set(:@@blah, h)
|
|
1755
1770
|
def al(v)
|
|
1756
|
-
v.each{|x|
|
|
1771
|
+
v.each{|x| self.class.send(:class_variable_get, :@@blah) << x.pk}
|
|
1757
1772
|
end
|
|
1758
1773
|
end
|
|
1759
1774
|
@c1.class_eval do
|
|
@@ -2477,18 +2492,18 @@ describe Sequel::Model, "many_to_many" do
|
|
|
2477
2492
|
h = []
|
|
2478
2493
|
@c2.many_to_many :attributes, :class => @c1, :before_add=>[proc{|x,y| h << x.pk; h << -y.pk}, :blah], :after_add=>proc{h << 3}, :before_remove=>:blah, :after_remove=>[:blahr]
|
|
2479
2494
|
@c2.class_eval do
|
|
2480
|
-
|
|
2495
|
+
class_variable_set(:@@blah, h)
|
|
2481
2496
|
def _add_attribute(v)
|
|
2482
|
-
|
|
2497
|
+
self.class.send(:class_variable_get, :@@blah) << 4
|
|
2483
2498
|
end
|
|
2484
2499
|
def _remove_attribute(v)
|
|
2485
|
-
|
|
2500
|
+
self.class.send(:class_variable_get, :@@blah) << 5
|
|
2486
2501
|
end
|
|
2487
2502
|
def blah(x)
|
|
2488
|
-
|
|
2503
|
+
self.class.send(:class_variable_get, :@@blah) << x.pk
|
|
2489
2504
|
end
|
|
2490
2505
|
def blahr(x)
|
|
2491
|
-
|
|
2506
|
+
self.class.send(:class_variable_get, :@@blah) << 6
|
|
2492
2507
|
end
|
|
2493
2508
|
end
|
|
2494
2509
|
p = @c2.load(:id=>10)
|
|
@@ -2504,9 +2519,9 @@ describe Sequel::Model, "many_to_many" do
|
|
|
2504
2519
|
h = []
|
|
2505
2520
|
@c2.many_to_many :attributes, :class => @c1, :after_load=>[proc{|x,y| h << [x.pk, y.collect{|z|z.pk}]}, :al]
|
|
2506
2521
|
@c2.class_eval do
|
|
2507
|
-
|
|
2522
|
+
class_variable_set(:@@blah, h)
|
|
2508
2523
|
def al(v)
|
|
2509
|
-
v.each{|x|
|
|
2524
|
+
v.each{|x| self.class.send(:class_variable_get, :@@blah) << x.pk}
|
|
2510
2525
|
end
|
|
2511
2526
|
end
|
|
2512
2527
|
@c1.class_eval do
|
data/spec/model/base_spec.rb
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
require File.join(File.dirname(__FILE__), "spec_helper")
|
|
1
|
+
require File.join(File.dirname(File.expand_path(__FILE__)), "spec_helper")
|
|
2
2
|
|
|
3
3
|
describe Sequel::Model::DatasetMethods, "#destroy" do
|
|
4
4
|
before do
|
|
5
5
|
@c = Class.new(Sequel::Model(:items)) do
|
|
6
|
-
|
|
6
|
+
class_variable_set(:@@destroyed, [])
|
|
7
7
|
def destroy
|
|
8
|
-
|
|
8
|
+
self.class.send(:class_variable_get, :@@destroyed) << self
|
|
9
9
|
end
|
|
10
10
|
def self.destroyed
|
|
11
|
-
|
|
11
|
+
class_variable_get(:@@destroyed)
|
|
12
12
|
end
|
|
13
13
|
end
|
|
14
14
|
@d = @c.dataset
|
data/spec/model/hooks_spec.rb
CHANGED
data/spec/model/model_spec.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require File.join(File.dirname(__FILE__), "spec_helper")
|
|
1
|
+
require File.join(File.dirname(File.expand_path(__FILE__)), "spec_helper")
|
|
2
2
|
|
|
3
3
|
describe "Sequel::Model()" do
|
|
4
4
|
before do
|
|
@@ -302,6 +302,12 @@ describe Sequel::Model, ".find_or_create" do
|
|
|
302
302
|
"INSERT INTO items (x) VALUES (1)"
|
|
303
303
|
]
|
|
304
304
|
end
|
|
305
|
+
|
|
306
|
+
it "should pass the new record to be created to the block if no record is found" do
|
|
307
|
+
@c.meta_def(:find){|*|}
|
|
308
|
+
@c.find_or_create(:x => 1){|x| x[:y] = 2}
|
|
309
|
+
["INSERT INTO items (x, y) VALUES (1, 2)", "INSERT INTO items (y, x) VALUES (2, 1)"].should include(MODEL_DB.sqls.first)
|
|
310
|
+
end
|
|
305
311
|
end
|
|
306
312
|
|
|
307
313
|
describe Sequel::Model, ".all" do
|
data/spec/model/plugins_spec.rb
CHANGED
data/spec/model/record_spec.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require File.join(File.dirname(__FILE__), "spec_helper")
|
|
1
|
+
require File.join(File.dirname(File.expand_path(__FILE__)), "spec_helper")
|
|
2
2
|
|
|
3
3
|
describe "Model#save server use" do
|
|
4
4
|
|
|
@@ -1462,7 +1462,6 @@ describe Sequel::Model, "typecasting" do
|
|
|
1462
1462
|
specify "should raise an error if invalid data is used in a time field" do
|
|
1463
1463
|
@c.instance_variable_set(:@db_schema, {:x=>{:type=>:time}})
|
|
1464
1464
|
proc{@c.new.x = '0000'}.should raise_error
|
|
1465
|
-
proc{@c.new.x = 'a'}.should_not raise_error # Valid Time
|
|
1466
1465
|
proc{@c.new.x = Date.parse('2008-10-21')}.should raise_error(Sequel::InvalidValue)
|
|
1467
1466
|
proc{@c.new.x = DateTime.parse('2008-10-21')}.should raise_error(Sequel::InvalidValue)
|
|
1468
1467
|
end
|
|
@@ -1519,7 +1518,6 @@ describe Sequel::Model, "typecasting" do
|
|
|
1519
1518
|
specify "should raise an error if invalid data is used in a datetime field" do
|
|
1520
1519
|
@c.instance_variable_set(:@db_schema, {:x=>{:type=>:datetime}})
|
|
1521
1520
|
proc{@c.new.x = '0000'}.should raise_error(Sequel::InvalidValue)
|
|
1522
|
-
proc{@c.new.x = 'a'}.should_not raise_error # Valid Time
|
|
1523
1521
|
Sequel.datetime_class = DateTime
|
|
1524
1522
|
proc{@c.new.x = '0000'}.should raise_error(Sequel::InvalidValue)
|
|
1525
1523
|
proc{@c.new.x = 'a'}.should raise_error(Sequel::InvalidValue)
|
data/spec/model/spec_helper.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
require 'rubygems'
|
|
2
2
|
unless Object.const_defined?('Sequel')
|
|
3
|
-
$:.unshift(File.join(File.dirname(__FILE__), "../../lib/"))
|
|
3
|
+
$:.unshift(File.join(File.dirname(File.expand_path(__FILE__)), "../../lib/"))
|
|
4
4
|
require 'sequel/core'
|
|
5
5
|
end
|
|
6
6
|
unless Sequel.const_defined?('Model')
|
|
7
|
-
$:.unshift(File.join(File.dirname(__FILE__), "../../lib/"))
|
|
7
|
+
$:.unshift(File.join(File.dirname(File.expand_path(__FILE__)), "../../lib/"))
|
|
8
8
|
require 'sequel/model'
|
|
9
9
|
end
|
|
10
10
|
|
metadata
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sequel
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
4
|
+
hash: 51
|
|
5
|
+
prerelease: false
|
|
6
|
+
segments:
|
|
7
|
+
- 3
|
|
8
|
+
- 13
|
|
9
|
+
- 0
|
|
10
|
+
version: 3.13.0
|
|
5
11
|
platform: ruby
|
|
6
12
|
authors:
|
|
7
13
|
- Jeremy Evans
|
|
@@ -9,7 +15,7 @@ autorequire:
|
|
|
9
15
|
bindir: bin
|
|
10
16
|
cert_chain: []
|
|
11
17
|
|
|
12
|
-
date: 2010-
|
|
18
|
+
date: 2010-07-01 00:00:00 -07:00
|
|
13
19
|
default_executable:
|
|
14
20
|
dependencies: []
|
|
15
21
|
|
|
@@ -70,6 +76,7 @@ extra_rdoc_files:
|
|
|
70
76
|
- doc/release_notes/3.10.0.txt
|
|
71
77
|
- doc/release_notes/3.11.0.txt
|
|
72
78
|
- doc/release_notes/3.12.0.txt
|
|
79
|
+
- doc/release_notes/3.13.0.txt
|
|
73
80
|
files:
|
|
74
81
|
- COPYING
|
|
75
82
|
- CHANGELOG
|
|
@@ -113,6 +120,7 @@ files:
|
|
|
113
120
|
- doc/release_notes/3.10.0.txt
|
|
114
121
|
- doc/release_notes/3.11.0.txt
|
|
115
122
|
- doc/release_notes/3.12.0.txt
|
|
123
|
+
- doc/release_notes/3.13.0.txt
|
|
116
124
|
- doc/sharding.rdoc
|
|
117
125
|
- doc/sql.rdoc
|
|
118
126
|
- doc/virtual_rows.rdoc
|
|
@@ -186,6 +194,10 @@ files:
|
|
|
186
194
|
- spec/extensions/string_stripper_spec.rb
|
|
187
195
|
- spec/extensions/update_primary_key_spec.rb
|
|
188
196
|
- spec/extensions/association_pks_spec.rb
|
|
197
|
+
- spec/extensions/json_serializer_spec.rb
|
|
198
|
+
- spec/extensions/list_spec.rb
|
|
199
|
+
- spec/extensions/tree_spec.rb
|
|
200
|
+
- spec/extensions/xml_serializer_spec.rb
|
|
189
201
|
- spec/integration/associations_test.rb
|
|
190
202
|
- spec/integration/database_test.rb
|
|
191
203
|
- spec/integration/dataset_test.rb
|
|
@@ -362,6 +374,10 @@ files:
|
|
|
362
374
|
- lib/sequel/plugins/string_stripper.rb
|
|
363
375
|
- lib/sequel/plugins/update_primary_key.rb
|
|
364
376
|
- lib/sequel/plugins/association_pks.rb
|
|
377
|
+
- lib/sequel/plugins/json_serializer.rb
|
|
378
|
+
- lib/sequel/plugins/list.rb
|
|
379
|
+
- lib/sequel/plugins/tree.rb
|
|
380
|
+
- lib/sequel/plugins/xml_serializer.rb
|
|
365
381
|
- lib/sequel/sql.rb
|
|
366
382
|
- lib/sequel/timezones.rb
|
|
367
383
|
- lib/sequel/version.rb
|
|
@@ -383,21 +399,29 @@ rdoc_options:
|
|
|
383
399
|
require_paths:
|
|
384
400
|
- lib
|
|
385
401
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
402
|
+
none: false
|
|
386
403
|
requirements:
|
|
387
404
|
- - ">="
|
|
388
405
|
- !ruby/object:Gem::Version
|
|
406
|
+
hash: 63
|
|
407
|
+
segments:
|
|
408
|
+
- 1
|
|
409
|
+
- 8
|
|
410
|
+
- 4
|
|
389
411
|
version: 1.8.4
|
|
390
|
-
version:
|
|
391
412
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
413
|
+
none: false
|
|
392
414
|
requirements:
|
|
393
415
|
- - ">="
|
|
394
416
|
- !ruby/object:Gem::Version
|
|
417
|
+
hash: 3
|
|
418
|
+
segments:
|
|
419
|
+
- 0
|
|
395
420
|
version: "0"
|
|
396
|
-
version:
|
|
397
421
|
requirements: []
|
|
398
422
|
|
|
399
423
|
rubyforge_project: sequel
|
|
400
|
-
rubygems_version: 1.3.
|
|
424
|
+
rubygems_version: 1.3.7
|
|
401
425
|
signing_key:
|
|
402
426
|
specification_version: 3
|
|
403
427
|
summary: The Database Toolkit for Ruby
|