sequel 4.36.0 → 5.61.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.
- checksums.yaml +5 -5
- data/CHANGELOG +548 -5749
- data/MIT-LICENSE +1 -1
- data/README.rdoc +265 -159
- data/bin/sequel +34 -12
- data/doc/advanced_associations.rdoc +228 -187
- data/doc/association_basics.rdoc +281 -291
- data/doc/bin_sequel.rdoc +5 -3
- data/doc/cheat_sheet.rdoc +86 -51
- data/doc/code_order.rdoc +25 -19
- data/doc/core_extensions.rdoc +104 -63
- data/doc/dataset_basics.rdoc +12 -21
- data/doc/dataset_filtering.rdoc +99 -86
- data/doc/extensions.rdoc +3 -10
- data/doc/fork_safety.rdoc +84 -0
- data/doc/mass_assignment.rdoc +74 -31
- data/doc/migration.rdoc +59 -51
- data/doc/model_dataset_method_design.rdoc +129 -0
- data/doc/model_hooks.rdoc +15 -25
- data/doc/model_plugins.rdoc +12 -12
- data/doc/mssql_stored_procedures.rdoc +3 -3
- data/doc/object_model.rdoc +58 -68
- data/doc/opening_databases.rdoc +85 -95
- data/doc/postgresql.rdoc +263 -38
- data/doc/prepared_statements.rdoc +29 -24
- data/doc/querying.rdoc +189 -167
- data/doc/reflection.rdoc +5 -6
- data/doc/release_notes/5.0.0.txt +159 -0
- data/doc/release_notes/5.1.0.txt +31 -0
- data/doc/release_notes/5.10.0.txt +84 -0
- data/doc/release_notes/5.11.0.txt +83 -0
- data/doc/release_notes/5.12.0.txt +141 -0
- data/doc/release_notes/5.13.0.txt +27 -0
- data/doc/release_notes/5.14.0.txt +63 -0
- data/doc/release_notes/5.15.0.txt +39 -0
- data/doc/release_notes/5.16.0.txt +110 -0
- data/doc/release_notes/5.17.0.txt +31 -0
- data/doc/release_notes/5.18.0.txt +69 -0
- data/doc/release_notes/5.19.0.txt +28 -0
- data/doc/release_notes/5.2.0.txt +33 -0
- data/doc/release_notes/5.20.0.txt +89 -0
- data/doc/release_notes/5.21.0.txt +87 -0
- data/doc/release_notes/5.22.0.txt +48 -0
- data/doc/release_notes/5.23.0.txt +56 -0
- data/doc/release_notes/5.24.0.txt +56 -0
- data/doc/release_notes/5.25.0.txt +32 -0
- data/doc/release_notes/5.26.0.txt +35 -0
- data/doc/release_notes/5.27.0.txt +21 -0
- data/doc/release_notes/5.28.0.txt +16 -0
- data/doc/release_notes/5.29.0.txt +22 -0
- data/doc/release_notes/5.3.0.txt +121 -0
- data/doc/release_notes/5.30.0.txt +20 -0
- data/doc/release_notes/5.31.0.txt +148 -0
- data/doc/release_notes/5.32.0.txt +46 -0
- data/doc/release_notes/5.33.0.txt +24 -0
- data/doc/release_notes/5.34.0.txt +40 -0
- data/doc/release_notes/5.35.0.txt +56 -0
- data/doc/release_notes/5.36.0.txt +60 -0
- data/doc/release_notes/5.37.0.txt +30 -0
- data/doc/release_notes/5.38.0.txt +28 -0
- data/doc/release_notes/5.39.0.txt +19 -0
- data/doc/release_notes/5.4.0.txt +80 -0
- data/doc/release_notes/5.40.0.txt +40 -0
- data/doc/release_notes/5.41.0.txt +25 -0
- data/doc/release_notes/5.42.0.txt +136 -0
- data/doc/release_notes/5.43.0.txt +98 -0
- data/doc/release_notes/5.44.0.txt +32 -0
- data/doc/release_notes/5.45.0.txt +34 -0
- data/doc/release_notes/5.46.0.txt +87 -0
- data/doc/release_notes/5.47.0.txt +59 -0
- data/doc/release_notes/5.48.0.txt +14 -0
- data/doc/release_notes/5.49.0.txt +59 -0
- data/doc/release_notes/5.5.0.txt +61 -0
- data/doc/release_notes/5.50.0.txt +78 -0
- data/doc/release_notes/5.51.0.txt +47 -0
- data/doc/release_notes/5.52.0.txt +87 -0
- data/doc/release_notes/5.53.0.txt +23 -0
- data/doc/release_notes/5.54.0.txt +27 -0
- data/doc/release_notes/5.55.0.txt +21 -0
- data/doc/release_notes/5.56.0.txt +51 -0
- data/doc/release_notes/5.57.0.txt +23 -0
- data/doc/release_notes/5.58.0.txt +31 -0
- data/doc/release_notes/5.59.0.txt +73 -0
- data/doc/release_notes/5.6.0.txt +31 -0
- data/doc/release_notes/5.60.0.txt +22 -0
- data/doc/release_notes/5.61.0.txt +43 -0
- data/doc/release_notes/5.7.0.txt +108 -0
- data/doc/release_notes/5.8.0.txt +170 -0
- data/doc/release_notes/5.9.0.txt +99 -0
- data/doc/schema_modification.rdoc +95 -75
- data/doc/security.rdoc +109 -80
- data/doc/sharding.rdoc +74 -47
- data/doc/sql.rdoc +147 -122
- data/doc/testing.rdoc +43 -20
- data/doc/thread_safety.rdoc +2 -4
- data/doc/transactions.rdoc +97 -18
- data/doc/validations.rdoc +52 -50
- data/doc/virtual_rows.rdoc +90 -109
- data/lib/sequel/adapters/ado/access.rb +15 -17
- data/lib/sequel/adapters/ado/mssql.rb +6 -15
- data/lib/sequel/adapters/ado.rb +150 -20
- data/lib/sequel/adapters/amalgalite.rb +11 -23
- data/lib/sequel/adapters/ibmdb.rb +47 -55
- data/lib/sequel/adapters/jdbc/db2.rb +29 -39
- data/lib/sequel/adapters/jdbc/derby.rb +58 -54
- data/lib/sequel/adapters/jdbc/h2.rb +93 -35
- data/lib/sequel/adapters/jdbc/hsqldb.rb +24 -31
- data/lib/sequel/adapters/jdbc/jtds.rb +2 -10
- data/lib/sequel/adapters/jdbc/mssql.rb +3 -11
- data/lib/sequel/adapters/jdbc/mysql.rb +17 -20
- data/lib/sequel/adapters/jdbc/oracle.rb +22 -18
- data/lib/sequel/adapters/jdbc/postgresql.rb +69 -71
- data/lib/sequel/adapters/jdbc/sqlanywhere.rb +11 -23
- data/lib/sequel/adapters/jdbc/sqlite.rb +47 -11
- data/lib/sequel/adapters/jdbc/sqlserver.rb +34 -9
- data/lib/sequel/adapters/jdbc/transactions.rb +22 -38
- data/lib/sequel/adapters/jdbc.rb +145 -130
- data/lib/sequel/adapters/mock.rb +100 -111
- data/lib/sequel/adapters/mysql.rb +114 -122
- data/lib/sequel/adapters/mysql2.rb +147 -63
- data/lib/sequel/adapters/odbc/db2.rb +1 -1
- data/lib/sequel/adapters/odbc/mssql.rb +8 -14
- data/lib/sequel/adapters/odbc/oracle.rb +11 -0
- data/lib/sequel/adapters/odbc.rb +20 -25
- data/lib/sequel/adapters/oracle.rb +50 -56
- data/lib/sequel/adapters/postgres.rb +305 -327
- data/lib/sequel/adapters/postgresql.rb +1 -1
- data/lib/sequel/adapters/shared/access.rb +74 -78
- data/lib/sequel/adapters/shared/db2.rb +118 -71
- data/lib/sequel/adapters/shared/mssql.rb +301 -220
- data/lib/sequel/adapters/shared/mysql.rb +299 -217
- data/lib/sequel/adapters/shared/oracle.rb +226 -65
- data/lib/sequel/adapters/shared/postgres.rb +935 -395
- data/lib/sequel/adapters/shared/sqlanywhere.rb +105 -126
- data/lib/sequel/adapters/shared/sqlite.rb +447 -173
- data/lib/sequel/adapters/sqlanywhere.rb +48 -35
- data/lib/sequel/adapters/sqlite.rb +156 -111
- data/lib/sequel/adapters/tinytds.rb +30 -38
- data/lib/sequel/adapters/utils/columns_limit_1.rb +22 -0
- data/lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb +3 -6
- data/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +2 -2
- data/lib/sequel/adapters/utils/mysql_mysql2.rb +87 -0
- data/lib/sequel/adapters/utils/mysql_prepared_statements.rb +56 -0
- data/lib/sequel/adapters/utils/replace.rb +1 -4
- data/lib/sequel/adapters/utils/stored_procedures.rb +7 -22
- data/lib/sequel/adapters/utils/unmodified_identifiers.rb +28 -0
- data/lib/sequel/ast_transformer.rb +17 -89
- data/lib/sequel/connection_pool/sharded_single.rb +18 -15
- data/lib/sequel/connection_pool/sharded_threaded.rb +130 -111
- data/lib/sequel/connection_pool/single.rb +18 -13
- data/lib/sequel/connection_pool/threaded.rb +121 -120
- data/lib/sequel/connection_pool.rb +48 -29
- data/lib/sequel/core.rb +351 -301
- data/lib/sequel/database/connecting.rb +69 -57
- data/lib/sequel/database/dataset.rb +13 -5
- data/lib/sequel/database/dataset_defaults.rb +18 -102
- data/lib/sequel/database/features.rb +18 -4
- data/lib/sequel/database/logging.rb +12 -11
- data/lib/sequel/database/misc.rb +180 -122
- data/lib/sequel/database/query.rb +47 -27
- data/lib/sequel/database/schema_generator.rb +178 -84
- data/lib/sequel/database/schema_methods.rb +172 -97
- data/lib/sequel/database/transactions.rb +205 -44
- data/lib/sequel/database.rb +17 -2
- data/lib/sequel/dataset/actions.rb +339 -155
- data/lib/sequel/dataset/dataset_module.rb +46 -0
- data/lib/sequel/dataset/features.rb +90 -35
- data/lib/sequel/dataset/graph.rb +80 -58
- data/lib/sequel/dataset/misc.rb +137 -47
- data/lib/sequel/dataset/placeholder_literalizer.rb +63 -25
- data/lib/sequel/dataset/prepared_statements.rb +188 -85
- data/lib/sequel/dataset/query.rb +530 -222
- data/lib/sequel/dataset/sql.rb +590 -368
- data/lib/sequel/dataset.rb +26 -16
- data/lib/sequel/deprecated.rb +12 -2
- data/lib/sequel/exceptions.rb +46 -16
- data/lib/sequel/extensions/_model_constraint_validations.rb +16 -0
- data/lib/sequel/extensions/_model_pg_row.rb +43 -0
- data/lib/sequel/extensions/_pretty_table.rb +2 -5
- data/lib/sequel/extensions/any_not_empty.rb +45 -0
- data/lib/sequel/extensions/arbitrary_servers.rb +10 -10
- data/lib/sequel/extensions/async_thread_pool.rb +438 -0
- data/lib/sequel/extensions/auto_literal_strings.rb +74 -0
- data/lib/sequel/extensions/blank.rb +8 -0
- data/lib/sequel/extensions/caller_logging.rb +79 -0
- data/lib/sequel/extensions/columns_introspection.rb +4 -3
- data/lib/sequel/extensions/connection_expiration.rb +20 -10
- data/lib/sequel/extensions/connection_validator.rb +11 -10
- data/lib/sequel/extensions/constant_sql_override.rb +65 -0
- data/lib/sequel/extensions/constraint_validations.rb +62 -39
- data/lib/sequel/extensions/core_extensions.rb +42 -48
- data/lib/sequel/extensions/core_refinements.rb +80 -59
- data/lib/sequel/extensions/current_datetime_timestamp.rb +1 -4
- data/lib/sequel/extensions/date_arithmetic.rb +98 -39
- data/lib/sequel/extensions/date_parse_input_handler.rb +67 -0
- data/lib/sequel/extensions/datetime_parse_to_time.rb +41 -0
- data/lib/sequel/extensions/duplicate_columns_handler.rb +21 -14
- data/lib/sequel/extensions/empty_array_consider_nulls.rb +2 -2
- data/lib/sequel/extensions/escaped_like.rb +100 -0
- data/lib/sequel/extensions/eval_inspect.rb +12 -15
- data/lib/sequel/extensions/exclude_or_null.rb +68 -0
- data/lib/sequel/extensions/fiber_concurrency.rb +24 -0
- data/lib/sequel/extensions/freeze_datasets.rb +3 -0
- data/lib/sequel/extensions/from_block.rb +1 -34
- data/lib/sequel/extensions/graph_each.rb +4 -4
- data/lib/sequel/extensions/identifier_mangling.rb +180 -0
- data/lib/sequel/extensions/implicit_subquery.rb +48 -0
- data/lib/sequel/extensions/index_caching.rb +109 -0
- data/lib/sequel/extensions/inflector.rb +13 -5
- data/lib/sequel/extensions/integer64.rb +32 -0
- data/lib/sequel/extensions/is_distinct_from.rb +141 -0
- data/lib/sequel/extensions/looser_typecasting.rb +17 -8
- data/lib/sequel/extensions/migration.rb +119 -78
- data/lib/sequel/extensions/named_timezones.rb +88 -23
- data/lib/sequel/extensions/no_auto_literal_strings.rb +2 -82
- data/lib/sequel/extensions/null_dataset.rb +8 -8
- data/lib/sequel/extensions/pagination.rb +32 -29
- data/lib/sequel/extensions/pg_array.rb +221 -287
- data/lib/sequel/extensions/pg_array_ops.rb +17 -9
- data/lib/sequel/extensions/pg_enum.rb +63 -23
- data/lib/sequel/extensions/pg_extended_date_support.rb +241 -0
- data/lib/sequel/extensions/pg_hstore.rb +45 -54
- data/lib/sequel/extensions/pg_hstore_ops.rb +58 -6
- data/lib/sequel/extensions/pg_inet.rb +31 -12
- data/lib/sequel/extensions/pg_inet_ops.rb +2 -2
- data/lib/sequel/extensions/pg_interval.rb +56 -29
- data/lib/sequel/extensions/pg_json.rb +417 -140
- data/lib/sequel/extensions/pg_json_ops.rb +270 -18
- data/lib/sequel/extensions/pg_loose_count.rb +4 -2
- data/lib/sequel/extensions/pg_multirange.rb +372 -0
- data/lib/sequel/extensions/pg_range.rb +131 -191
- data/lib/sequel/extensions/pg_range_ops.rb +42 -13
- data/lib/sequel/extensions/pg_row.rb +48 -81
- data/lib/sequel/extensions/pg_row_ops.rb +33 -14
- data/lib/sequel/extensions/pg_static_cache_updater.rb +2 -2
- data/lib/sequel/extensions/pg_timestamptz.rb +28 -0
- data/lib/sequel/extensions/query.rb +9 -7
- data/lib/sequel/extensions/round_timestamps.rb +0 -6
- data/lib/sequel/extensions/run_transaction_hooks.rb +72 -0
- data/lib/sequel/extensions/s.rb +60 -0
- data/lib/sequel/extensions/schema_caching.rb +10 -1
- data/lib/sequel/extensions/schema_dumper.rb +71 -48
- data/lib/sequel/extensions/select_remove.rb +4 -4
- data/lib/sequel/extensions/sequel_4_dataset_methods.rb +85 -0
- data/lib/sequel/extensions/server_block.rb +51 -27
- data/lib/sequel/extensions/split_array_nil.rb +4 -4
- data/lib/sequel/extensions/sql_comments.rb +119 -7
- data/lib/sequel/extensions/sql_expr.rb +2 -1
- data/lib/sequel/extensions/sql_log_normalizer.rb +108 -0
- data/lib/sequel/extensions/sqlite_json_ops.rb +255 -0
- data/lib/sequel/extensions/string_agg.rb +11 -8
- data/lib/sequel/extensions/string_date_time.rb +19 -23
- data/lib/sequel/extensions/symbol_aref.rb +55 -0
- data/lib/sequel/extensions/symbol_aref_refinement.rb +43 -0
- data/lib/sequel/extensions/symbol_as.rb +23 -0
- data/lib/sequel/extensions/symbol_as_refinement.rb +37 -0
- data/lib/sequel/extensions/synchronize_sql.rb +45 -0
- data/lib/sequel/extensions/to_dot.rb +10 -4
- data/lib/sequel/extensions/virtual_row_method_block.rb +44 -0
- data/lib/sequel/model/associations.rb +1006 -284
- data/lib/sequel/model/base.rb +560 -805
- data/lib/sequel/model/dataset_module.rb +11 -10
- data/lib/sequel/model/default_inflections.rb +1 -1
- data/lib/sequel/model/errors.rb +10 -3
- data/lib/sequel/model/exceptions.rb +8 -10
- data/lib/sequel/model/inflections.rb +7 -20
- data/lib/sequel/model/plugins.rb +114 -0
- data/lib/sequel/model.rb +32 -82
- data/lib/sequel/plugins/active_model.rb +30 -14
- data/lib/sequel/plugins/after_initialize.rb +1 -1
- data/lib/sequel/plugins/association_dependencies.rb +25 -18
- data/lib/sequel/plugins/association_lazy_eager_option.rb +66 -0
- data/lib/sequel/plugins/association_multi_add_remove.rb +85 -0
- data/lib/sequel/plugins/association_pks.rb +147 -70
- data/lib/sequel/plugins/association_proxies.rb +33 -9
- data/lib/sequel/plugins/async_thread_pool.rb +39 -0
- data/lib/sequel/plugins/auto_restrict_eager_graph.rb +62 -0
- data/lib/sequel/plugins/auto_validations.rb +95 -28
- data/lib/sequel/plugins/auto_validations_constraint_validations_presence_message.rb +68 -0
- data/lib/sequel/plugins/before_after_save.rb +0 -42
- data/lib/sequel/plugins/blacklist_security.rb +21 -12
- data/lib/sequel/plugins/boolean_readers.rb +5 -5
- data/lib/sequel/plugins/boolean_subsets.rb +13 -8
- data/lib/sequel/plugins/caching.rb +25 -16
- data/lib/sequel/plugins/class_table_inheritance.rb +179 -100
- data/lib/sequel/plugins/column_conflicts.rb +16 -3
- data/lib/sequel/plugins/column_encryption.rb +728 -0
- data/lib/sequel/plugins/column_select.rb +7 -5
- data/lib/sequel/plugins/columns_updated.rb +42 -0
- data/lib/sequel/plugins/composition.rb +42 -26
- data/lib/sequel/plugins/concurrent_eager_loading.rb +174 -0
- data/lib/sequel/plugins/constraint_validations.rb +20 -14
- data/lib/sequel/plugins/csv_serializer.rb +56 -35
- data/lib/sequel/plugins/dataset_associations.rb +40 -17
- data/lib/sequel/plugins/def_dataset_method.rb +90 -0
- data/lib/sequel/plugins/defaults_setter.rb +65 -10
- data/lib/sequel/plugins/delay_add_association.rb +1 -1
- data/lib/sequel/plugins/dirty.rb +62 -24
- data/lib/sequel/plugins/eager_each.rb +3 -3
- data/lib/sequel/plugins/eager_graph_eager.rb +139 -0
- data/lib/sequel/plugins/empty_failure_backtraces.rb +38 -0
- data/lib/sequel/plugins/enum.rb +124 -0
- data/lib/sequel/plugins/error_splitter.rb +17 -12
- data/lib/sequel/plugins/finder.rb +246 -0
- data/lib/sequel/plugins/forbid_lazy_load.rb +216 -0
- data/lib/sequel/plugins/force_encoding.rb +7 -12
- data/lib/sequel/plugins/hook_class_methods.rb +37 -54
- data/lib/sequel/plugins/input_transformer.rb +18 -10
- data/lib/sequel/plugins/insert_conflict.rb +76 -0
- data/lib/sequel/plugins/insert_returning_select.rb +2 -2
- data/lib/sequel/plugins/instance_filters.rb +10 -8
- data/lib/sequel/plugins/instance_hooks.rb +34 -17
- data/lib/sequel/plugins/instance_specific_default.rb +113 -0
- data/lib/sequel/plugins/inverted_subsets.rb +22 -13
- data/lib/sequel/plugins/json_serializer.rb +124 -64
- data/lib/sequel/plugins/lazy_attributes.rb +21 -14
- data/lib/sequel/plugins/list.rb +35 -21
- data/lib/sequel/plugins/many_through_many.rb +134 -21
- data/lib/sequel/plugins/modification_detection.rb +15 -5
- data/lib/sequel/plugins/mssql_optimistic_locking.rb +6 -5
- data/lib/sequel/plugins/nested_attributes.rb +61 -31
- data/lib/sequel/plugins/optimistic_locking.rb +3 -3
- data/lib/sequel/plugins/pg_array_associations.rb +103 -53
- data/lib/sequel/plugins/pg_auto_constraint_validations.rb +350 -0
- data/lib/sequel/plugins/pg_row.rb +5 -51
- data/lib/sequel/plugins/prepared_statements.rb +60 -72
- data/lib/sequel/plugins/prepared_statements_safe.rb +9 -4
- data/lib/sequel/plugins/rcte_tree.rb +68 -82
- data/lib/sequel/plugins/require_valid_schema.rb +67 -0
- data/lib/sequel/plugins/serialization.rb +43 -46
- data/lib/sequel/plugins/serialization_modification_detection.rb +3 -2
- data/lib/sequel/plugins/sharding.rb +15 -10
- data/lib/sequel/plugins/single_table_inheritance.rb +67 -28
- data/lib/sequel/plugins/skip_create_refresh.rb +3 -3
- data/lib/sequel/plugins/skip_saving_columns.rb +108 -0
- data/lib/sequel/plugins/split_values.rb +11 -6
- data/lib/sequel/plugins/sql_comments.rb +189 -0
- data/lib/sequel/plugins/static_cache.rb +77 -53
- data/lib/sequel/plugins/static_cache_cache.rb +53 -0
- data/lib/sequel/plugins/string_stripper.rb +3 -3
- data/lib/sequel/plugins/subclasses.rb +43 -10
- data/lib/sequel/plugins/subset_conditions.rb +15 -5
- data/lib/sequel/plugins/table_select.rb +2 -2
- data/lib/sequel/plugins/tactical_eager_loading.rb +96 -12
- data/lib/sequel/plugins/throw_failures.rb +110 -0
- data/lib/sequel/plugins/timestamps.rb +20 -8
- data/lib/sequel/plugins/touch.rb +19 -8
- data/lib/sequel/plugins/tree.rb +62 -32
- data/lib/sequel/plugins/typecast_on_load.rb +12 -4
- data/lib/sequel/plugins/unlimited_update.rb +1 -7
- data/lib/sequel/plugins/unused_associations.rb +521 -0
- data/lib/sequel/plugins/update_or_create.rb +4 -4
- data/lib/sequel/plugins/update_primary_key.rb +1 -1
- data/lib/sequel/plugins/update_refresh.rb +26 -15
- data/lib/sequel/plugins/uuid.rb +7 -11
- data/lib/sequel/plugins/validate_associated.rb +18 -0
- data/lib/sequel/plugins/validation_class_methods.rb +38 -19
- data/lib/sequel/plugins/validation_contexts.rb +49 -0
- data/lib/sequel/plugins/validation_helpers.rb +57 -41
- data/lib/sequel/plugins/whitelist_security.rb +122 -0
- data/lib/sequel/plugins/xml_serializer.rb +30 -31
- data/lib/sequel/sql.rb +471 -331
- data/lib/sequel/timezones.rb +78 -47
- data/lib/sequel/version.rb +7 -2
- data/lib/sequel.rb +1 -1
- metadata +217 -521
- data/Rakefile +0 -164
- data/doc/active_record.rdoc +0 -928
- data/doc/release_notes/1.0.txt +0 -38
- data/doc/release_notes/1.1.txt +0 -143
- data/doc/release_notes/1.3.txt +0 -101
- data/doc/release_notes/1.4.0.txt +0 -53
- data/doc/release_notes/1.5.0.txt +0 -155
- data/doc/release_notes/2.0.0.txt +0 -298
- data/doc/release_notes/2.1.0.txt +0 -271
- data/doc/release_notes/2.10.0.txt +0 -328
- data/doc/release_notes/2.11.0.txt +0 -215
- data/doc/release_notes/2.12.0.txt +0 -534
- data/doc/release_notes/2.2.0.txt +0 -253
- data/doc/release_notes/2.3.0.txt +0 -88
- data/doc/release_notes/2.4.0.txt +0 -106
- data/doc/release_notes/2.5.0.txt +0 -137
- data/doc/release_notes/2.6.0.txt +0 -157
- data/doc/release_notes/2.7.0.txt +0 -166
- data/doc/release_notes/2.8.0.txt +0 -171
- data/doc/release_notes/2.9.0.txt +0 -97
- data/doc/release_notes/3.0.0.txt +0 -221
- data/doc/release_notes/3.1.0.txt +0 -406
- data/doc/release_notes/3.10.0.txt +0 -286
- data/doc/release_notes/3.11.0.txt +0 -254
- data/doc/release_notes/3.12.0.txt +0 -304
- data/doc/release_notes/3.13.0.txt +0 -210
- data/doc/release_notes/3.14.0.txt +0 -118
- data/doc/release_notes/3.15.0.txt +0 -78
- data/doc/release_notes/3.16.0.txt +0 -45
- data/doc/release_notes/3.17.0.txt +0 -58
- data/doc/release_notes/3.18.0.txt +0 -120
- data/doc/release_notes/3.19.0.txt +0 -67
- data/doc/release_notes/3.2.0.txt +0 -268
- data/doc/release_notes/3.20.0.txt +0 -41
- data/doc/release_notes/3.21.0.txt +0 -87
- data/doc/release_notes/3.22.0.txt +0 -39
- data/doc/release_notes/3.23.0.txt +0 -172
- data/doc/release_notes/3.24.0.txt +0 -420
- data/doc/release_notes/3.25.0.txt +0 -88
- data/doc/release_notes/3.26.0.txt +0 -88
- data/doc/release_notes/3.27.0.txt +0 -82
- data/doc/release_notes/3.28.0.txt +0 -304
- data/doc/release_notes/3.29.0.txt +0 -459
- data/doc/release_notes/3.3.0.txt +0 -192
- data/doc/release_notes/3.30.0.txt +0 -135
- data/doc/release_notes/3.31.0.txt +0 -146
- data/doc/release_notes/3.32.0.txt +0 -202
- data/doc/release_notes/3.33.0.txt +0 -157
- data/doc/release_notes/3.34.0.txt +0 -671
- data/doc/release_notes/3.35.0.txt +0 -144
- data/doc/release_notes/3.36.0.txt +0 -245
- data/doc/release_notes/3.37.0.txt +0 -338
- data/doc/release_notes/3.38.0.txt +0 -234
- data/doc/release_notes/3.39.0.txt +0 -237
- data/doc/release_notes/3.4.0.txt +0 -325
- data/doc/release_notes/3.40.0.txt +0 -73
- data/doc/release_notes/3.41.0.txt +0 -155
- data/doc/release_notes/3.42.0.txt +0 -74
- data/doc/release_notes/3.43.0.txt +0 -105
- data/doc/release_notes/3.44.0.txt +0 -152
- data/doc/release_notes/3.45.0.txt +0 -179
- data/doc/release_notes/3.46.0.txt +0 -122
- data/doc/release_notes/3.47.0.txt +0 -270
- data/doc/release_notes/3.48.0.txt +0 -477
- data/doc/release_notes/3.5.0.txt +0 -510
- data/doc/release_notes/3.6.0.txt +0 -366
- data/doc/release_notes/3.7.0.txt +0 -179
- data/doc/release_notes/3.8.0.txt +0 -151
- data/doc/release_notes/3.9.0.txt +0 -233
- data/doc/release_notes/4.0.0.txt +0 -262
- data/doc/release_notes/4.1.0.txt +0 -85
- data/doc/release_notes/4.10.0.txt +0 -226
- data/doc/release_notes/4.11.0.txt +0 -147
- data/doc/release_notes/4.12.0.txt +0 -105
- data/doc/release_notes/4.13.0.txt +0 -169
- data/doc/release_notes/4.14.0.txt +0 -68
- data/doc/release_notes/4.15.0.txt +0 -56
- data/doc/release_notes/4.16.0.txt +0 -36
- data/doc/release_notes/4.17.0.txt +0 -38
- data/doc/release_notes/4.18.0.txt +0 -36
- data/doc/release_notes/4.19.0.txt +0 -45
- data/doc/release_notes/4.2.0.txt +0 -129
- data/doc/release_notes/4.20.0.txt +0 -79
- data/doc/release_notes/4.21.0.txt +0 -94
- data/doc/release_notes/4.22.0.txt +0 -72
- data/doc/release_notes/4.23.0.txt +0 -65
- data/doc/release_notes/4.24.0.txt +0 -99
- data/doc/release_notes/4.25.0.txt +0 -181
- data/doc/release_notes/4.26.0.txt +0 -44
- data/doc/release_notes/4.27.0.txt +0 -78
- data/doc/release_notes/4.28.0.txt +0 -57
- data/doc/release_notes/4.29.0.txt +0 -41
- data/doc/release_notes/4.3.0.txt +0 -40
- data/doc/release_notes/4.30.0.txt +0 -37
- data/doc/release_notes/4.31.0.txt +0 -57
- data/doc/release_notes/4.32.0.txt +0 -132
- data/doc/release_notes/4.33.0.txt +0 -88
- data/doc/release_notes/4.34.0.txt +0 -86
- data/doc/release_notes/4.35.0.txt +0 -130
- data/doc/release_notes/4.36.0.txt +0 -116
- data/doc/release_notes/4.4.0.txt +0 -92
- data/doc/release_notes/4.5.0.txt +0 -34
- data/doc/release_notes/4.6.0.txt +0 -30
- data/doc/release_notes/4.7.0.txt +0 -103
- data/doc/release_notes/4.8.0.txt +0 -175
- data/doc/release_notes/4.9.0.txt +0 -190
- data/lib/sequel/adapters/cubrid.rb +0 -144
- data/lib/sequel/adapters/do/mysql.rb +0 -66
- data/lib/sequel/adapters/do/postgres.rb +0 -44
- data/lib/sequel/adapters/do/sqlite3.rb +0 -42
- data/lib/sequel/adapters/do.rb +0 -158
- data/lib/sequel/adapters/jdbc/as400.rb +0 -84
- data/lib/sequel/adapters/jdbc/cubrid.rb +0 -64
- data/lib/sequel/adapters/jdbc/firebirdsql.rb +0 -36
- data/lib/sequel/adapters/jdbc/informix-sqli.rb +0 -33
- data/lib/sequel/adapters/jdbc/jdbcprogress.rb +0 -33
- data/lib/sequel/adapters/odbc/progress.rb +0 -10
- data/lib/sequel/adapters/shared/cubrid.rb +0 -245
- data/lib/sequel/adapters/shared/firebird.rb +0 -247
- data/lib/sequel/adapters/shared/informix.rb +0 -54
- data/lib/sequel/adapters/shared/mysql_prepared_statements.rb +0 -152
- data/lib/sequel/adapters/shared/progress.rb +0 -40
- data/lib/sequel/adapters/swift/mysql.rb +0 -49
- data/lib/sequel/adapters/swift/postgres.rb +0 -47
- data/lib/sequel/adapters/swift/sqlite.rb +0 -49
- data/lib/sequel/adapters/swift.rb +0 -160
- data/lib/sequel/adapters/utils/pg_types.rb +0 -70
- data/lib/sequel/dataset/mutation.rb +0 -111
- data/lib/sequel/extensions/empty_array_ignore_nulls.rb +0 -5
- data/lib/sequel/extensions/filter_having.rb +0 -63
- data/lib/sequel/extensions/hash_aliases.rb +0 -49
- data/lib/sequel/extensions/meta_def.rb +0 -35
- data/lib/sequel/extensions/query_literals.rb +0 -84
- data/lib/sequel/extensions/ruby18_symbol_extensions.rb +0 -24
- data/lib/sequel/extensions/sequel_3_dataset_methods.rb +0 -122
- data/lib/sequel/extensions/set_overrides.rb +0 -76
- data/lib/sequel/no_core_ext.rb +0 -3
- data/lib/sequel/plugins/association_autoreloading.rb +0 -9
- data/lib/sequel/plugins/identifier_columns.rb +0 -47
- data/lib/sequel/plugins/many_to_one_pk_lookup.rb +0 -9
- data/lib/sequel/plugins/pg_typecast_on_load.rb +0 -81
- data/lib/sequel/plugins/prepared_statements_associations.rb +0 -119
- data/lib/sequel/plugins/prepared_statements_with_pk.rb +0 -61
- data/lib/sequel/plugins/schema.rb +0 -82
- data/lib/sequel/plugins/scissors.rb +0 -35
- data/spec/adapter_spec.rb +0 -4
- data/spec/adapters/db2_spec.rb +0 -160
- data/spec/adapters/firebird_spec.rb +0 -411
- data/spec/adapters/informix_spec.rb +0 -100
- data/spec/adapters/mssql_spec.rb +0 -733
- data/spec/adapters/mysql_spec.rb +0 -1319
- data/spec/adapters/oracle_spec.rb +0 -313
- data/spec/adapters/postgres_spec.rb +0 -3790
- data/spec/adapters/spec_helper.rb +0 -49
- data/spec/adapters/sqlanywhere_spec.rb +0 -170
- data/spec/adapters/sqlite_spec.rb +0 -688
- data/spec/bin_spec.rb +0 -258
- data/spec/core/connection_pool_spec.rb +0 -1045
- data/spec/core/database_spec.rb +0 -2636
- data/spec/core/dataset_spec.rb +0 -5175
- data/spec/core/deprecated_spec.rb +0 -70
- data/spec/core/expression_filters_spec.rb +0 -1247
- data/spec/core/mock_adapter_spec.rb +0 -464
- data/spec/core/object_graph_spec.rb +0 -303
- data/spec/core/placeholder_literalizer_spec.rb +0 -163
- data/spec/core/schema_generator_spec.rb +0 -203
- data/spec/core/schema_spec.rb +0 -1676
- data/spec/core/spec_helper.rb +0 -34
- data/spec/core/version_spec.rb +0 -7
- data/spec/core_extensions_spec.rb +0 -699
- data/spec/core_model_spec.rb +0 -2
- data/spec/core_spec.rb +0 -1
- data/spec/extensions/accessed_columns_spec.rb +0 -51
- data/spec/extensions/active_model_spec.rb +0 -85
- data/spec/extensions/after_initialize_spec.rb +0 -24
- data/spec/extensions/arbitrary_servers_spec.rb +0 -109
- data/spec/extensions/association_dependencies_spec.rb +0 -117
- data/spec/extensions/association_pks_spec.rb +0 -405
- data/spec/extensions/association_proxies_spec.rb +0 -86
- data/spec/extensions/auto_validations_spec.rb +0 -192
- data/spec/extensions/before_after_save_spec.rb +0 -40
- data/spec/extensions/blacklist_security_spec.rb +0 -88
- data/spec/extensions/blank_spec.rb +0 -69
- data/spec/extensions/boolean_readers_spec.rb +0 -93
- data/spec/extensions/boolean_subsets_spec.rb +0 -47
- data/spec/extensions/caching_spec.rb +0 -270
- data/spec/extensions/class_table_inheritance_spec.rb +0 -444
- data/spec/extensions/column_conflicts_spec.rb +0 -60
- data/spec/extensions/column_select_spec.rb +0 -108
- data/spec/extensions/columns_introspection_spec.rb +0 -91
- data/spec/extensions/composition_spec.rb +0 -242
- data/spec/extensions/connection_expiration_spec.rb +0 -121
- data/spec/extensions/connection_validator_spec.rb +0 -127
- data/spec/extensions/constraint_validations_plugin_spec.rb +0 -288
- data/spec/extensions/constraint_validations_spec.rb +0 -389
- data/spec/extensions/core_refinements_spec.rb +0 -519
- data/spec/extensions/csv_serializer_spec.rb +0 -180
- data/spec/extensions/current_datetime_timestamp_spec.rb +0 -27
- data/spec/extensions/dataset_associations_spec.rb +0 -343
- data/spec/extensions/dataset_source_alias_spec.rb +0 -51
- data/spec/extensions/date_arithmetic_spec.rb +0 -167
- data/spec/extensions/defaults_setter_spec.rb +0 -102
- data/spec/extensions/delay_add_association_spec.rb +0 -74
- data/spec/extensions/dirty_spec.rb +0 -180
- data/spec/extensions/duplicate_columns_handler_spec.rb +0 -110
- data/spec/extensions/eager_each_spec.rb +0 -66
- data/spec/extensions/empty_array_consider_nulls_spec.rb +0 -24
- data/spec/extensions/error_splitter_spec.rb +0 -18
- data/spec/extensions/error_sql_spec.rb +0 -20
- data/spec/extensions/eval_inspect_spec.rb +0 -73
- data/spec/extensions/filter_having_spec.rb +0 -40
- data/spec/extensions/force_encoding_spec.rb +0 -114
- data/spec/extensions/from_block_spec.rb +0 -21
- data/spec/extensions/graph_each_spec.rb +0 -119
- data/spec/extensions/hash_aliases_spec.rb +0 -24
- data/spec/extensions/hook_class_methods_spec.rb +0 -429
- data/spec/extensions/identifier_columns_spec.rb +0 -17
- data/spec/extensions/inflector_spec.rb +0 -183
- data/spec/extensions/input_transformer_spec.rb +0 -54
- data/spec/extensions/insert_returning_select_spec.rb +0 -46
- data/spec/extensions/instance_filters_spec.rb +0 -79
- data/spec/extensions/instance_hooks_spec.rb +0 -276
- data/spec/extensions/inverted_subsets_spec.rb +0 -33
- data/spec/extensions/json_serializer_spec.rb +0 -304
- data/spec/extensions/lazy_attributes_spec.rb +0 -170
- data/spec/extensions/list_spec.rb +0 -278
- data/spec/extensions/looser_typecasting_spec.rb +0 -43
- data/spec/extensions/many_through_many_spec.rb +0 -2172
- data/spec/extensions/meta_def_spec.rb +0 -21
- data/spec/extensions/migration_spec.rb +0 -728
- data/spec/extensions/modification_detection_spec.rb +0 -80
- data/spec/extensions/mssql_optimistic_locking_spec.rb +0 -91
- data/spec/extensions/named_timezones_spec.rb +0 -108
- data/spec/extensions/nested_attributes_spec.rb +0 -697
- data/spec/extensions/no_auto_literal_strings_spec.rb +0 -65
- data/spec/extensions/null_dataset_spec.rb +0 -85
- data/spec/extensions/optimistic_locking_spec.rb +0 -128
- data/spec/extensions/pagination_spec.rb +0 -118
- data/spec/extensions/pg_array_associations_spec.rb +0 -736
- data/spec/extensions/pg_array_ops_spec.rb +0 -143
- data/spec/extensions/pg_array_spec.rb +0 -390
- data/spec/extensions/pg_enum_spec.rb +0 -92
- data/spec/extensions/pg_hstore_ops_spec.rb +0 -236
- data/spec/extensions/pg_hstore_spec.rb +0 -206
- data/spec/extensions/pg_inet_ops_spec.rb +0 -101
- data/spec/extensions/pg_inet_spec.rb +0 -52
- data/spec/extensions/pg_interval_spec.rb +0 -76
- data/spec/extensions/pg_json_ops_spec.rb +0 -275
- data/spec/extensions/pg_json_spec.rb +0 -218
- data/spec/extensions/pg_loose_count_spec.rb +0 -17
- data/spec/extensions/pg_range_ops_spec.rb +0 -58
- data/spec/extensions/pg_range_spec.rb +0 -473
- data/spec/extensions/pg_row_ops_spec.rb +0 -60
- data/spec/extensions/pg_row_plugin_spec.rb +0 -62
- data/spec/extensions/pg_row_spec.rb +0 -360
- data/spec/extensions/pg_static_cache_updater_spec.rb +0 -92
- data/spec/extensions/pg_typecast_on_load_spec.rb +0 -63
- data/spec/extensions/prepared_statements_associations_spec.rb +0 -159
- data/spec/extensions/prepared_statements_safe_spec.rb +0 -61
- data/spec/extensions/prepared_statements_spec.rb +0 -103
- data/spec/extensions/prepared_statements_with_pk_spec.rb +0 -31
- data/spec/extensions/pretty_table_spec.rb +0 -92
- data/spec/extensions/query_literals_spec.rb +0 -183
- data/spec/extensions/query_spec.rb +0 -102
- data/spec/extensions/rcte_tree_spec.rb +0 -392
- data/spec/extensions/round_timestamps_spec.rb +0 -43
- data/spec/extensions/schema_caching_spec.rb +0 -41
- data/spec/extensions/schema_dumper_spec.rb +0 -814
- data/spec/extensions/schema_spec.rb +0 -117
- data/spec/extensions/scissors_spec.rb +0 -26
- data/spec/extensions/select_remove_spec.rb +0 -38
- data/spec/extensions/sequel_3_dataset_methods_spec.rb +0 -101
- data/spec/extensions/serialization_modification_detection_spec.rb +0 -98
- data/spec/extensions/serialization_spec.rb +0 -362
- data/spec/extensions/server_block_spec.rb +0 -90
- data/spec/extensions/server_logging_spec.rb +0 -45
- data/spec/extensions/set_overrides_spec.rb +0 -61
- data/spec/extensions/sharding_spec.rb +0 -198
- data/spec/extensions/shared_caching_spec.rb +0 -175
- data/spec/extensions/single_table_inheritance_spec.rb +0 -297
- data/spec/extensions/singular_table_names_spec.rb +0 -22
- data/spec/extensions/skip_create_refresh_spec.rb +0 -17
- data/spec/extensions/spec_helper.rb +0 -71
- data/spec/extensions/split_array_nil_spec.rb +0 -24
- data/spec/extensions/split_values_spec.rb +0 -22
- data/spec/extensions/sql_comments_spec.rb +0 -27
- data/spec/extensions/sql_expr_spec.rb +0 -60
- data/spec/extensions/static_cache_spec.rb +0 -361
- data/spec/extensions/string_agg_spec.rb +0 -85
- data/spec/extensions/string_date_time_spec.rb +0 -95
- data/spec/extensions/string_stripper_spec.rb +0 -68
- data/spec/extensions/subclasses_spec.rb +0 -66
- data/spec/extensions/subset_conditions_spec.rb +0 -38
- data/spec/extensions/table_select_spec.rb +0 -71
- data/spec/extensions/tactical_eager_loading_spec.rb +0 -136
- data/spec/extensions/thread_local_timezones_spec.rb +0 -67
- data/spec/extensions/timestamps_spec.rb +0 -175
- data/spec/extensions/to_dot_spec.rb +0 -154
- data/spec/extensions/touch_spec.rb +0 -203
- data/spec/extensions/tree_spec.rb +0 -274
- data/spec/extensions/typecast_on_load_spec.rb +0 -80
- data/spec/extensions/unlimited_update_spec.rb +0 -20
- data/spec/extensions/update_or_create_spec.rb +0 -87
- data/spec/extensions/update_primary_key_spec.rb +0 -100
- data/spec/extensions/update_refresh_spec.rb +0 -53
- data/spec/extensions/uuid_spec.rb +0 -106
- data/spec/extensions/validate_associated_spec.rb +0 -52
- data/spec/extensions/validation_class_methods_spec.rb +0 -1027
- data/spec/extensions/validation_helpers_spec.rb +0 -554
- data/spec/extensions/xml_serializer_spec.rb +0 -207
- data/spec/files/bad_down_migration/001_create_alt_basic.rb +0 -4
- data/spec/files/bad_down_migration/002_create_alt_advanced.rb +0 -4
- data/spec/files/bad_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/bad_timestamped_migrations/1273253851_create_nodes.rb +0 -9
- data/spec/files/bad_timestamped_migrations/1273253853_3_create_users.rb +0 -3
- data/spec/files/bad_up_migration/001_create_alt_basic.rb +0 -4
- data/spec/files/bad_up_migration/002_create_alt_advanced.rb +0 -3
- data/spec/files/convert_to_timestamp_migrations/001_create_sessions.rb +0 -9
- data/spec/files/convert_to_timestamp_migrations/002_create_nodes.rb +0 -9
- data/spec/files/convert_to_timestamp_migrations/003_3_create_users.rb +0 -4
- data/spec/files/convert_to_timestamp_migrations/1273253850_create_artists.rb +0 -9
- data/spec/files/convert_to_timestamp_migrations/1273253852_create_albums.rb +0 -9
- data/spec/files/double_migration/001_create_sessions.rb +0 -9
- data/spec/files/double_migration/002_create_nodes.rb +0 -19
- data/spec/files/double_migration/003_3_create_users.rb +0 -4
- data/spec/files/duplicate_integer_migrations/001_create_alt_advanced.rb +0 -4
- data/spec/files/duplicate_integer_migrations/001_create_alt_basic.rb +0 -4
- data/spec/files/duplicate_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/duplicate_timestamped_migrations/1273253853_create_nodes.rb +0 -9
- data/spec/files/duplicate_timestamped_migrations/1273253853_create_users.rb +0 -4
- data/spec/files/empty_migration/001_create_sessions.rb +0 -9
- data/spec/files/empty_migration/002_create_nodes.rb +0 -0
- data/spec/files/empty_migration/003_3_create_users.rb +0 -4
- data/spec/files/integer_migrations/001_create_sessions.rb +0 -9
- data/spec/files/integer_migrations/002_create_nodes.rb +0 -9
- data/spec/files/integer_migrations/003_3_create_users.rb +0 -4
- data/spec/files/interleaved_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253850_create_artists.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253851_create_nodes.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253852_create_albums.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253853_3_create_users.rb +0 -4
- data/spec/files/missing_integer_migrations/001_create_alt_basic.rb +0 -4
- data/spec/files/missing_integer_migrations/003_create_alt_advanced.rb +0 -4
- data/spec/files/missing_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/missing_timestamped_migrations/1273253853_3_create_users.rb +0 -4
- data/spec/files/reversible_migrations/001_reversible.rb +0 -5
- data/spec/files/reversible_migrations/002_reversible.rb +0 -5
- data/spec/files/reversible_migrations/003_reversible.rb +0 -5
- data/spec/files/reversible_migrations/004_reversible.rb +0 -5
- data/spec/files/reversible_migrations/005_reversible.rb +0 -10
- data/spec/files/reversible_migrations/006_reversible.rb +0 -10
- data/spec/files/reversible_migrations/007_reversible.rb +0 -10
- data/spec/files/timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/timestamped_migrations/1273253851_create_nodes.rb +0 -9
- data/spec/files/timestamped_migrations/1273253853_3_create_users.rb +0 -4
- data/spec/files/transaction_specified_migrations/001_create_alt_basic.rb +0 -4
- data/spec/files/transaction_specified_migrations/002_create_basic.rb +0 -4
- data/spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb +0 -3
- data/spec/files/transaction_unspecified_migrations/002_create_basic.rb +0 -3
- data/spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB +0 -9
- data/spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB +0 -9
- data/spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB +0 -4
- data/spec/guards_helper.rb +0 -55
- data/spec/integration/associations_test.rb +0 -2506
- data/spec/integration/database_test.rb +0 -113
- data/spec/integration/dataset_test.rb +0 -1858
- data/spec/integration/eager_loader_test.rb +0 -687
- data/spec/integration/migrator_test.rb +0 -262
- data/spec/integration/model_test.rb +0 -230
- data/spec/integration/plugin_test.rb +0 -2297
- data/spec/integration/prepared_statement_test.rb +0 -467
- data/spec/integration/schema_test.rb +0 -815
- data/spec/integration/spec_helper.rb +0 -56
- data/spec/integration/timezone_test.rb +0 -86
- data/spec/integration/transaction_test.rb +0 -406
- data/spec/integration/type_test.rb +0 -133
- data/spec/model/association_reflection_spec.rb +0 -565
- data/spec/model/associations_spec.rb +0 -4589
- data/spec/model/base_spec.rb +0 -759
- data/spec/model/class_dataset_methods_spec.rb +0 -150
- data/spec/model/dataset_methods_spec.rb +0 -149
- data/spec/model/eager_loading_spec.rb +0 -2197
- data/spec/model/hooks_spec.rb +0 -604
- data/spec/model/inflector_spec.rb +0 -26
- data/spec/model/model_spec.rb +0 -1097
- data/spec/model/plugins_spec.rb +0 -299
- data/spec/model/record_spec.rb +0 -2162
- data/spec/model/spec_helper.rb +0 -46
- data/spec/model/validations_spec.rb +0 -193
- data/spec/model_no_assoc_spec.rb +0 -1
- data/spec/model_spec.rb +0 -1
- data/spec/plugin_spec.rb +0 -1
- data/spec/sequel_coverage.rb +0 -15
- data/spec/spec_config.rb +0 -10
data/spec/model/hooks_spec.rb
DELETED
@@ -1,604 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(File.expand_path(__FILE__)), "spec_helper")
|
2
|
-
|
3
|
-
describe "Model#before_create && Model#after_create" do
|
4
|
-
before do
|
5
|
-
@c = Class.new(Sequel::Model(:items)) do
|
6
|
-
columns :x
|
7
|
-
set_primary_key :x
|
8
|
-
unrestrict_primary_key
|
9
|
-
|
10
|
-
def after_create
|
11
|
-
DB << "BLAH after"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
DB.reset
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should be called around new record creation" do
|
18
|
-
@c.send(:define_method, :before_create){DB << "BLAH before"}
|
19
|
-
@c.create(:x => 2)
|
20
|
-
DB.sqls.must_equal ['BLAH before', 'INSERT INTO items (x) VALUES (2)', 'BLAH after', 'SELECT * FROM items WHERE (x = 2) LIMIT 1']
|
21
|
-
end
|
22
|
-
|
23
|
-
it ".create should cancel the save and raise an error if before_create returns false and raise_on_save_failure is true" do
|
24
|
-
@c.send(:define_method, :before_create){false}
|
25
|
-
proc{@c.create(:x => 2)}.must_raise(Sequel::HookFailed)
|
26
|
-
DB.sqls.must_equal []
|
27
|
-
@c.load(:id => 2233).save
|
28
|
-
end
|
29
|
-
|
30
|
-
it ".create should cancel the save and raise an error if before_create calls cancel_action and raise_on_save_failure is true" do
|
31
|
-
@c.send(:define_method, :before_create){cancel_action 'not good'}
|
32
|
-
proc{@c.create(:x => 2)}.must_raise(Sequel::HookFailed, 'not good')
|
33
|
-
DB.sqls.must_equal []
|
34
|
-
@c.load(:id => 2233).save
|
35
|
-
end
|
36
|
-
|
37
|
-
it ".create should cancel the save and return nil if before_create returns false and raise_on_save_failure is false" do
|
38
|
-
@c.send(:define_method, :before_create){false}
|
39
|
-
@c.raise_on_save_failure = false
|
40
|
-
@c.create(:x => 2).must_equal nil
|
41
|
-
DB.sqls.must_equal []
|
42
|
-
end
|
43
|
-
|
44
|
-
it ".create should cancel the save and return nil if before_create calls cancel_action and raise_on_save_failure is false" do
|
45
|
-
@c.send(:define_method, :before_create){cancel_action}
|
46
|
-
@c.raise_on_save_failure = false
|
47
|
-
@c.create(:x => 2).must_equal nil
|
48
|
-
DB.sqls.must_equal []
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
describe "Model#before_update && Model#after_update" do
|
53
|
-
before do
|
54
|
-
@c = Class.new(Sequel::Model(:items)) do
|
55
|
-
columns :id, :x
|
56
|
-
def after_update
|
57
|
-
DB << "BLAH after"
|
58
|
-
end
|
59
|
-
end
|
60
|
-
DB.reset
|
61
|
-
end
|
62
|
-
|
63
|
-
it "should be called around record update" do
|
64
|
-
@c.send(:define_method, :before_update){DB << "BLAH before"}
|
65
|
-
m = @c.load(:id => 2233, :x=>123)
|
66
|
-
m.save
|
67
|
-
DB.sqls.must_equal ['BLAH before', 'UPDATE items SET x = 123 WHERE (id = 2233)', 'BLAH after']
|
68
|
-
end
|
69
|
-
|
70
|
-
it "#save should cancel the save and raise an error if before_update returns false and raise_on_save_failure is true" do
|
71
|
-
@c.send(:define_method, :before_update){false}
|
72
|
-
proc{@c.load(:id => 2233).save}.must_raise(Sequel::HookFailed)
|
73
|
-
DB.sqls.must_equal []
|
74
|
-
end
|
75
|
-
|
76
|
-
it "#save should cancel the save and raise an error if before_update calls cancel_action and raise_on_save_failure is true" do
|
77
|
-
@c.send(:define_method, :before_update){cancel_action}
|
78
|
-
proc{@c.load(:id => 2233).save}.must_raise(Sequel::HookFailed)
|
79
|
-
DB.sqls.must_equal []
|
80
|
-
end
|
81
|
-
|
82
|
-
it "#save should cancel the save and raise an error if before_update returns false and raise_on_failure option is true" do
|
83
|
-
@c.send(:define_method, :before_update){false}
|
84
|
-
@c.raise_on_save_failure = false
|
85
|
-
proc{@c.load(:id => 2233).save(:raise_on_failure => true)}.must_raise(Sequel::HookFailed)
|
86
|
-
DB.sqls.must_equal []
|
87
|
-
end
|
88
|
-
|
89
|
-
it "#save should cancel the save and return nil if before_update returns false and raise_on_save_failure is false" do
|
90
|
-
@c.send(:define_method, :before_update){false}
|
91
|
-
@c.raise_on_save_failure = false
|
92
|
-
@c.load(:id => 2233).save.must_equal nil
|
93
|
-
DB.sqls.must_equal []
|
94
|
-
end
|
95
|
-
|
96
|
-
it "#save should cancel the save and return nil if before_update calls cancel_action and raise_on_save_failure is false" do
|
97
|
-
@c.send(:define_method, :before_update){cancel_action}
|
98
|
-
@c.raise_on_save_failure = false
|
99
|
-
@c.load(:id => 2233).save.must_equal nil
|
100
|
-
DB.sqls.must_equal []
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
describe "Model#before_save && Model#after_save" do
|
105
|
-
before do
|
106
|
-
@c = Class.new(Sequel::Model(:items)) do
|
107
|
-
columns :x
|
108
|
-
def after_save
|
109
|
-
DB << "BLAH after"
|
110
|
-
end
|
111
|
-
end
|
112
|
-
DB.reset
|
113
|
-
end
|
114
|
-
|
115
|
-
it "should be called around record update" do
|
116
|
-
@c.send(:define_method, :before_save){DB << "BLAH before"}
|
117
|
-
m = @c.load(:id => 2233, :x=>123)
|
118
|
-
m.save
|
119
|
-
DB.sqls.must_equal ['BLAH before', 'UPDATE items SET x = 123 WHERE (id = 2233)', 'BLAH after']
|
120
|
-
end
|
121
|
-
|
122
|
-
it "should be called around record creation" do
|
123
|
-
@c.send(:define_method, :before_save){DB << "BLAH before"}
|
124
|
-
@c.set_primary_key :x
|
125
|
-
@c.unrestrict_primary_key
|
126
|
-
@c.create(:x => 2)
|
127
|
-
DB.sqls.must_equal ['BLAH before', 'INSERT INTO items (x) VALUES (2)', 'BLAH after', 'SELECT * FROM items WHERE (x = 2) LIMIT 1']
|
128
|
-
end
|
129
|
-
|
130
|
-
it "#save should cancel the save and raise an error if before_save returns false and raise_on_save_failure is true" do
|
131
|
-
@c.send(:define_method, :before_save){false}
|
132
|
-
proc{@c.load(:id => 2233).save}.must_raise(Sequel::HookFailed)
|
133
|
-
DB.sqls.must_equal []
|
134
|
-
end
|
135
|
-
|
136
|
-
it "#save should cancel the save and raise an error if before_save returns false and raise_on_failure option is true" do
|
137
|
-
@c.send(:define_method, :before_save){false}
|
138
|
-
@c.raise_on_save_failure = false
|
139
|
-
proc{@c.load(:id => 2233).save(:raise_on_failure => true)}.must_raise(Sequel::HookFailed)
|
140
|
-
DB.sqls.must_equal []
|
141
|
-
end
|
142
|
-
|
143
|
-
it "#save should cancel the save and raise an error if before_save calls cancel_action and raise_on_failure option is true" do
|
144
|
-
@c.send(:define_method, :before_save){cancel_action}
|
145
|
-
@c.raise_on_save_failure = false
|
146
|
-
proc{@c.load(:id => 2233).save(:raise_on_failure => true)}.must_raise(Sequel::HookFailed)
|
147
|
-
DB.sqls.must_equal []
|
148
|
-
end
|
149
|
-
|
150
|
-
it "#save should cancel the save and return nil if before_save returns false and raise_on_save_failure is false" do
|
151
|
-
@c.send(:define_method, :before_save){false}
|
152
|
-
@c.raise_on_save_failure = false
|
153
|
-
@c.load(:id => 2233).save.must_equal nil
|
154
|
-
DB.sqls.must_equal []
|
155
|
-
end
|
156
|
-
|
157
|
-
it "#save should cancel the save and return nil if before_save calls cancel_action and raise_on_save_failure is false" do
|
158
|
-
@c.send(:define_method, :before_save){cancel_action}
|
159
|
-
@c.raise_on_save_failure = false
|
160
|
-
@c.load(:id => 2233).save.must_equal nil
|
161
|
-
DB.sqls.must_equal []
|
162
|
-
end
|
163
|
-
|
164
|
-
it "#save should have a raised exception reference the model instance" do
|
165
|
-
@c.send(:define_method, :before_save){false}
|
166
|
-
proc{@c.create(:x => 2233)}.must_raise(Sequel::HookFailed){|e| e.model.must_equal @c.load(:x=>2233)}
|
167
|
-
DB.sqls.must_equal []
|
168
|
-
end
|
169
|
-
end
|
170
|
-
|
171
|
-
describe "Model#before_destroy && Model#after_destroy" do
|
172
|
-
before do
|
173
|
-
@c = Class.new(Sequel::Model(:items)) do
|
174
|
-
def after_destroy
|
175
|
-
DB << "BLAH after"
|
176
|
-
end
|
177
|
-
end
|
178
|
-
DB.reset
|
179
|
-
end
|
180
|
-
|
181
|
-
it "should be called around record destruction" do
|
182
|
-
@c.send(:define_method, :before_destroy){DB << "BLAH before"}
|
183
|
-
m = @c.load(:id => 2233)
|
184
|
-
m.destroy
|
185
|
-
DB.sqls.must_equal ['BLAH before', 'DELETE FROM items WHERE id = 2233', 'BLAH after']
|
186
|
-
end
|
187
|
-
|
188
|
-
it "#destroy should cancel the destroy and raise an error if before_destroy returns false and raise_on_save_failure is true" do
|
189
|
-
@c.send(:define_method, :before_destroy){false}
|
190
|
-
proc{@c.load(:id => 2233).destroy}.must_raise(Sequel::HookFailed)
|
191
|
-
DB.sqls.must_equal []
|
192
|
-
end
|
193
|
-
|
194
|
-
it "#destroy should cancel the destroy and raise an error if before_destroy calls cancel_action and raise_on_save_failure is true" do
|
195
|
-
@c.send(:define_method, :before_destroy){cancel_action; true}
|
196
|
-
proc{@c.load(:id => 2233).destroy}.must_raise(Sequel::HookFailed)
|
197
|
-
DB.sqls.must_equal []
|
198
|
-
end
|
199
|
-
|
200
|
-
it "#destroy should cancel the destroy and raise an error if before_destroy returns false and raise_on_failure option is true" do
|
201
|
-
@c.send(:define_method, :before_destroy){false}
|
202
|
-
@c.raise_on_save_failure = false
|
203
|
-
proc{@c.load(:id => 2233).destroy(:raise_on_failure => true)}.must_raise(Sequel::HookFailed)
|
204
|
-
DB.sqls.must_equal []
|
205
|
-
end
|
206
|
-
|
207
|
-
it "#destroy should cancel the destroy and return nil if before_destroy returns false and raise_on_save_failure is false" do
|
208
|
-
@c.send(:define_method, :before_destroy){false}
|
209
|
-
@c.raise_on_save_failure = false
|
210
|
-
@c.load(:id => 2233).destroy.must_equal nil
|
211
|
-
DB.sqls.must_equal []
|
212
|
-
end
|
213
|
-
|
214
|
-
it "#destroy should cancel the destroy and return nil if before_destroy calls cancel_action and raise_on_save_failure is false" do
|
215
|
-
@c.send(:define_method, :before_destroy){cancel_action; true}
|
216
|
-
@c.raise_on_save_failure = false
|
217
|
-
@c.load(:id => 2233).destroy.must_equal nil
|
218
|
-
DB.sqls.must_equal []
|
219
|
-
end
|
220
|
-
end
|
221
|
-
|
222
|
-
describe "Model#before_validation && Model#after_validation" do
|
223
|
-
before do
|
224
|
-
@c = Class.new(Sequel::Model(:items)) do
|
225
|
-
columns :id
|
226
|
-
def after_validation
|
227
|
-
DB << "BLAH after"
|
228
|
-
end
|
229
|
-
|
230
|
-
def validate
|
231
|
-
errors.add(:id, 'not valid') unless id == 2233
|
232
|
-
end
|
233
|
-
end
|
234
|
-
DB.reset
|
235
|
-
end
|
236
|
-
|
237
|
-
it "should be called around validation" do
|
238
|
-
@c.send(:define_method, :before_validation){DB << "BLAH before"}
|
239
|
-
m = @c.load(:id => 2233)
|
240
|
-
m.must_be :valid?
|
241
|
-
DB.sqls.must_equal ['BLAH before', 'BLAH after']
|
242
|
-
|
243
|
-
m = @c.load(:id => 22)
|
244
|
-
m.wont_be :valid?
|
245
|
-
DB.sqls.must_equal ['BLAH before', 'BLAH after']
|
246
|
-
end
|
247
|
-
|
248
|
-
it "should be called when calling save" do
|
249
|
-
@c.send(:define_method, :before_validation){DB << "BLAH before"}
|
250
|
-
m = @c.load(:id => 2233, :x=>123)
|
251
|
-
m.save.must_equal m
|
252
|
-
DB.sqls.must_equal ['BLAH before', 'BLAH after', 'UPDATE items SET x = 123 WHERE (id = 2233)']
|
253
|
-
|
254
|
-
m = @c.load(:id => 22)
|
255
|
-
m.raise_on_save_failure = false
|
256
|
-
m.save.must_equal nil
|
257
|
-
DB.sqls.must_equal ['BLAH before', 'BLAH after']
|
258
|
-
end
|
259
|
-
|
260
|
-
it "#save should cancel the save and raise an error if before_validation returns false and raise_on_save_failure is true" do
|
261
|
-
@c.send(:define_method, :before_validation){false}
|
262
|
-
proc{@c.load(:id => 2233).save}.must_raise(Sequel::HookFailed)
|
263
|
-
DB.sqls.must_equal []
|
264
|
-
end
|
265
|
-
|
266
|
-
it "#save should cancel the save and raise an error if before_validation returns false and raise_on_failure option is true" do
|
267
|
-
@c.send(:define_method, :before_validation){false}
|
268
|
-
@c.raise_on_save_failure = false
|
269
|
-
proc{@c.load(:id => 2233).save(:raise_on_failure => true)}.must_raise(Sequel::HookFailed)
|
270
|
-
DB.sqls.must_equal []
|
271
|
-
end
|
272
|
-
|
273
|
-
it "#save should cancel the save and raise an error if before_validation calls cancel_action and raise_on_save_failure is true" do
|
274
|
-
@c.send(:define_method, :before_validation){cancel_action}
|
275
|
-
proc{@c.load(:id => 2233).save}.must_raise(Sequel::HookFailed)
|
276
|
-
DB.sqls.must_equal []
|
277
|
-
end
|
278
|
-
|
279
|
-
it "#save should cancel the save and return nil if before_validation returns false and raise_on_save_failure is false" do
|
280
|
-
@c.send(:define_method, :before_validation){false}
|
281
|
-
@c.raise_on_save_failure = false
|
282
|
-
@c.load(:id => 2233).save.must_equal nil
|
283
|
-
DB.sqls.must_equal []
|
284
|
-
end
|
285
|
-
|
286
|
-
it "#save should cancel the save and return nil if before_validation calls cancel_action and raise_on_save_failure is false" do
|
287
|
-
@c.send(:define_method, :before_validation){cancel_action}
|
288
|
-
@c.raise_on_save_failure = false
|
289
|
-
@c.load(:id => 2233).save.must_equal nil
|
290
|
-
DB.sqls.must_equal []
|
291
|
-
end
|
292
|
-
|
293
|
-
it "#valid? should return false if before_validation returns false" do
|
294
|
-
@c.send(:define_method, :before_validation){false}
|
295
|
-
@c.load(:id => 2233).valid?.must_equal false
|
296
|
-
end
|
297
|
-
end
|
298
|
-
|
299
|
-
describe "Model around filters" do
|
300
|
-
before do
|
301
|
-
@c = Class.new(Sequel::Model(:items)) do
|
302
|
-
columns :id, :x
|
303
|
-
end
|
304
|
-
DB.reset
|
305
|
-
end
|
306
|
-
|
307
|
-
it "around_create should be called around new record creation" do
|
308
|
-
@c.class_eval do
|
309
|
-
def around_create
|
310
|
-
DB << 'ac_before'
|
311
|
-
super
|
312
|
-
DB << 'ac_after'
|
313
|
-
end
|
314
|
-
end
|
315
|
-
@c.create(:x => 2)
|
316
|
-
DB.sqls.must_equal ['ac_before', 'INSERT INTO items (x) VALUES (2)', 'ac_after', "SELECT * FROM items WHERE (id = 10) LIMIT 1"]
|
317
|
-
end
|
318
|
-
|
319
|
-
it "around_delete should be called around record destruction" do
|
320
|
-
@c.class_eval do
|
321
|
-
def around_destroy
|
322
|
-
DB << 'ad_before'
|
323
|
-
super
|
324
|
-
DB << 'ad_after'
|
325
|
-
end
|
326
|
-
end
|
327
|
-
@c.load(:id=>1, :x => 2).destroy
|
328
|
-
DB.sqls.must_equal ['ad_before', 'DELETE FROM items WHERE id = 1', 'ad_after']
|
329
|
-
end
|
330
|
-
|
331
|
-
it "around_update should be called around updating existing records" do
|
332
|
-
@c.class_eval do
|
333
|
-
def around_update
|
334
|
-
DB << 'au_before'
|
335
|
-
super
|
336
|
-
DB << 'au_after'
|
337
|
-
end
|
338
|
-
end
|
339
|
-
@c.load(:id=>1, :x => 2).save
|
340
|
-
DB.sqls.must_equal ['au_before', 'UPDATE items SET x = 2 WHERE (id = 1)', 'au_after']
|
341
|
-
end
|
342
|
-
|
343
|
-
it "around_save should be called around saving both new and existing records, around either after_create and after_update" do
|
344
|
-
@c.class_eval do
|
345
|
-
def around_update
|
346
|
-
DB << 'au_before'
|
347
|
-
super
|
348
|
-
DB << 'au_after'
|
349
|
-
end
|
350
|
-
def around_create
|
351
|
-
DB << 'ac_before'
|
352
|
-
super
|
353
|
-
DB << 'ac_after'
|
354
|
-
end
|
355
|
-
def around_save
|
356
|
-
DB << 'as_before'
|
357
|
-
super
|
358
|
-
DB << 'as_after'
|
359
|
-
end
|
360
|
-
end
|
361
|
-
@c.create(:x => 2)
|
362
|
-
DB.sqls.must_equal ['as_before', 'ac_before', 'INSERT INTO items (x) VALUES (2)', 'ac_after', 'as_after', "SELECT * FROM items WHERE (id = 10) LIMIT 1"]
|
363
|
-
@c.load(:id=>1, :x => 2).save
|
364
|
-
DB.sqls.must_equal ['as_before', 'au_before', 'UPDATE items SET x = 2 WHERE (id = 1)', 'au_after', 'as_after']
|
365
|
-
end
|
366
|
-
|
367
|
-
it "around_validation should be called around validating records" do
|
368
|
-
@c.class_eval do
|
369
|
-
def around_validation
|
370
|
-
DB << 'av_before'
|
371
|
-
super
|
372
|
-
DB << 'av_after'
|
373
|
-
end
|
374
|
-
def validate
|
375
|
-
DB << 'validate'
|
376
|
-
end
|
377
|
-
end
|
378
|
-
@c.new(:x => 2).valid?.must_equal true
|
379
|
-
DB.sqls.must_equal [ 'av_before', 'validate', 'av_after' ]
|
380
|
-
end
|
381
|
-
|
382
|
-
it "around_validation should be able to catch validation errors and modify them" do
|
383
|
-
@c.class_eval do
|
384
|
-
def validate
|
385
|
-
errors.add(:x, 'foo')
|
386
|
-
end
|
387
|
-
end
|
388
|
-
@c.new(:x => 2).valid?.must_equal false
|
389
|
-
@c.class_eval do
|
390
|
-
def around_validation
|
391
|
-
super
|
392
|
-
errors.clear
|
393
|
-
end
|
394
|
-
end
|
395
|
-
@c.new(:x => 2).valid?.must_equal true
|
396
|
-
end
|
397
|
-
|
398
|
-
it "around_create that doesn't call super should raise a HookFailed" do
|
399
|
-
@c.send(:define_method, :around_create){}
|
400
|
-
proc{@c.create(:x => 2)}.must_raise(Sequel::HookFailed)
|
401
|
-
end
|
402
|
-
|
403
|
-
it "around_update that doesn't call super should raise a HookFailed" do
|
404
|
-
@c.send(:define_method, :around_update){}
|
405
|
-
proc{@c.load(:x => 2).save}.must_raise(Sequel::HookFailed)
|
406
|
-
end
|
407
|
-
|
408
|
-
it "around_save that doesn't call super should raise a HookFailed" do
|
409
|
-
@c.send(:define_method, :around_save){}
|
410
|
-
proc{@c.create(:x => 2)}.must_raise(Sequel::HookFailed)
|
411
|
-
proc{@c.load(:x => 2).save}.must_raise(Sequel::HookFailed)
|
412
|
-
end
|
413
|
-
|
414
|
-
it "around_destroy that doesn't call super should raise a HookFailed" do
|
415
|
-
@c.send(:define_method, :around_destroy){}
|
416
|
-
proc{@c.load(:x => 2).destroy}.must_raise(Sequel::HookFailed)
|
417
|
-
end
|
418
|
-
|
419
|
-
it "around_validation that doesn't call super should raise a HookFailed" do
|
420
|
-
@c.send(:define_method, :around_validation){}
|
421
|
-
proc{@c.new.save}.must_raise(Sequel::HookFailed)
|
422
|
-
end
|
423
|
-
|
424
|
-
it "around_validation that doesn't call super should have valid? return false" do
|
425
|
-
@c.send(:define_method, :around_validation){}
|
426
|
-
@c.new.valid?.must_equal false
|
427
|
-
end
|
428
|
-
|
429
|
-
it "around_* that doesn't call super should return nil if raise_on_save_failure is false" do
|
430
|
-
@c.raise_on_save_failure = false
|
431
|
-
|
432
|
-
o = @c.load(:id => 1)
|
433
|
-
def o.around_save() end
|
434
|
-
o.save.must_equal nil
|
435
|
-
|
436
|
-
o = @c.load(:id => 1)
|
437
|
-
def o.around_update() end
|
438
|
-
o.save.must_equal nil
|
439
|
-
|
440
|
-
o = @c.new
|
441
|
-
def o.around_create() end
|
442
|
-
o.save.must_equal nil
|
443
|
-
|
444
|
-
o = @c.new
|
445
|
-
def o.around_validation() end
|
446
|
-
o.save.must_equal nil
|
447
|
-
end
|
448
|
-
end
|
449
|
-
|
450
|
-
describe "Model#after_commit and #after_rollback" do
|
451
|
-
before do
|
452
|
-
@db = Sequel.mock(:servers=>{:test=>{}})
|
453
|
-
@m = Class.new(Sequel::Model(@db[:items])) do
|
454
|
-
attr_accessor :rb
|
455
|
-
def _delete
|
456
|
-
end
|
457
|
-
def after_save
|
458
|
-
db.execute('as')
|
459
|
-
raise Sequel::Rollback if rb
|
460
|
-
end
|
461
|
-
def after_commit
|
462
|
-
db.execute('ac')
|
463
|
-
end
|
464
|
-
def after_rollback
|
465
|
-
db.execute('ar')
|
466
|
-
end
|
467
|
-
def after_destroy
|
468
|
-
db.execute('ad')
|
469
|
-
raise Sequel::Rollback if rb
|
470
|
-
end
|
471
|
-
def after_destroy_commit
|
472
|
-
db.execute('adc')
|
473
|
-
end
|
474
|
-
def after_destroy_rollback
|
475
|
-
db.execute('adr')
|
476
|
-
end
|
477
|
-
end
|
478
|
-
@m.use_transactions = true
|
479
|
-
@o = @m.load({})
|
480
|
-
@db.sqls
|
481
|
-
end
|
482
|
-
|
483
|
-
it "should call after_commit for save after the transaction commits if it commits" do
|
484
|
-
@o.save
|
485
|
-
@db.sqls.must_equal ['BEGIN', 'as', 'COMMIT', 'ac']
|
486
|
-
end
|
487
|
-
|
488
|
-
it "should call after_rollback for save after the transaction rolls back if it rolls back" do
|
489
|
-
@o.rb = true
|
490
|
-
@o.save
|
491
|
-
@db.sqls.must_equal ['BEGIN', 'as', 'ROLLBACK', 'ar']
|
492
|
-
end
|
493
|
-
|
494
|
-
it "should have after_commit respect any surrounding transactions" do
|
495
|
-
@db.transaction do
|
496
|
-
@o.save
|
497
|
-
end
|
498
|
-
@db.sqls.must_equal ['BEGIN', 'as', 'COMMIT', 'ac']
|
499
|
-
end
|
500
|
-
|
501
|
-
it "should have after_rollback respect any surrounding transactions" do
|
502
|
-
@db.transaction do
|
503
|
-
@o.rb = true
|
504
|
-
@o.save
|
505
|
-
end
|
506
|
-
@db.sqls.must_equal ['BEGIN', 'as', 'ROLLBACK', 'ar']
|
507
|
-
end
|
508
|
-
|
509
|
-
it "should have after_commit work with surrounding transactions and sharding" do
|
510
|
-
@db.transaction(:server=>:test) do
|
511
|
-
@o.save
|
512
|
-
end
|
513
|
-
@db.sqls.must_equal ['BEGIN -- test', 'BEGIN', 'as', 'COMMIT', 'ac', 'COMMIT -- test']
|
514
|
-
end
|
515
|
-
|
516
|
-
it "should have after_rollback work with surrounding transactions and sharding" do
|
517
|
-
@db.transaction(:server=>:test) do
|
518
|
-
@o.rb = true
|
519
|
-
@o.save
|
520
|
-
end
|
521
|
-
@db.sqls.must_equal ['BEGIN -- test', 'BEGIN', 'as', 'ROLLBACK', 'ar', 'COMMIT -- test']
|
522
|
-
end
|
523
|
-
|
524
|
-
it "should call after_destroy_commit for destroy after the transaction commits if it commits" do
|
525
|
-
@o.destroy
|
526
|
-
@db.sqls.must_equal ['BEGIN', 'ad', 'COMMIT', 'adc']
|
527
|
-
end
|
528
|
-
|
529
|
-
it "should call after_destroy_rollback for destroy after the transaction rolls back if it rolls back" do
|
530
|
-
@o.rb = true
|
531
|
-
@o.destroy
|
532
|
-
@db.sqls.must_equal ['BEGIN', 'ad', 'ROLLBACK', 'adr']
|
533
|
-
end
|
534
|
-
|
535
|
-
it "should have after_destroy_commit respect any surrounding transactions" do
|
536
|
-
@db.transaction do
|
537
|
-
@o.destroy
|
538
|
-
end
|
539
|
-
@db.sqls.must_equal ['BEGIN', 'ad', 'COMMIT', 'adc']
|
540
|
-
end
|
541
|
-
|
542
|
-
it "should have after_destroy_rollback respect any surrounding transactions" do
|
543
|
-
@db.transaction do
|
544
|
-
@o.rb = true
|
545
|
-
@o.destroy
|
546
|
-
end
|
547
|
-
@db.sqls.must_equal ['BEGIN', 'ad', 'ROLLBACK', 'adr']
|
548
|
-
end
|
549
|
-
|
550
|
-
it "should have after_destroy commit work with surrounding transactions and sharding" do
|
551
|
-
@db.transaction(:server=>:test) do
|
552
|
-
@o.destroy
|
553
|
-
end
|
554
|
-
@db.sqls.must_equal ['BEGIN -- test', 'BEGIN', 'ad', 'COMMIT', 'adc', 'COMMIT -- test']
|
555
|
-
end
|
556
|
-
|
557
|
-
it "should have after_destroy_rollback work with surrounding transactions and sharding" do
|
558
|
-
@db.transaction(:server=>:test) do
|
559
|
-
@o.rb = true
|
560
|
-
@o.destroy
|
561
|
-
end
|
562
|
-
@db.sqls.must_equal ['BEGIN -- test', 'BEGIN', 'ad', 'ROLLBACK', 'adr', 'COMMIT -- test']
|
563
|
-
end
|
564
|
-
|
565
|
-
it "should not call after_commit if use_after_commit_rollback is false" do
|
566
|
-
@o.use_after_commit_rollback = false
|
567
|
-
@o.save
|
568
|
-
@db.sqls.must_equal ['BEGIN', 'as', 'COMMIT']
|
569
|
-
end
|
570
|
-
|
571
|
-
it "should not call after_rollback if use_after_commit_rollback is false" do
|
572
|
-
@o.use_after_commit_rollback = false
|
573
|
-
@o.rb = true
|
574
|
-
@o.save
|
575
|
-
@db.sqls.must_equal ['BEGIN', 'as', 'ROLLBACK']
|
576
|
-
end
|
577
|
-
|
578
|
-
it "should not call after_destroy_commit if use_after_commit_rollback is false" do
|
579
|
-
@o.use_after_commit_rollback = false
|
580
|
-
@o.destroy
|
581
|
-
@db.sqls.must_equal ['BEGIN', 'ad', 'COMMIT']
|
582
|
-
end
|
583
|
-
|
584
|
-
it "should not call after_destroy_rollback for save if use_after_commit_rollback is false" do
|
585
|
-
@o.use_after_commit_rollback = false
|
586
|
-
@o.rb = true
|
587
|
-
@o.destroy
|
588
|
-
@db.sqls.must_equal ['BEGIN', 'ad', 'ROLLBACK']
|
589
|
-
end
|
590
|
-
|
591
|
-
it "should handle use_after_commit_rollback at the class level" do
|
592
|
-
@m.use_after_commit_rollback = false
|
593
|
-
@o.save
|
594
|
-
@db.sqls.must_equal ['BEGIN', 'as', 'COMMIT']
|
595
|
-
end
|
596
|
-
|
597
|
-
it "should handle use_after_commit_rollback when subclassing" do
|
598
|
-
@m.use_after_commit_rollback = false
|
599
|
-
o = Class.new(@m).load({})
|
600
|
-
@db.sqls
|
601
|
-
o.save
|
602
|
-
@db.sqls.must_equal ['BEGIN', 'as', 'COMMIT']
|
603
|
-
end
|
604
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(File.expand_path(__FILE__)), 'spec_helper')
|
2
|
-
|
3
|
-
describe Sequel::Inflections do
|
4
|
-
before do
|
5
|
-
@plurals, @singulars, @uncountables = Sequel.inflections.plurals.dup, Sequel.inflections.singulars.dup, Sequel.inflections.uncountables.dup
|
6
|
-
end
|
7
|
-
after do
|
8
|
-
Sequel.inflections.plurals.replace(@plurals)
|
9
|
-
Sequel.inflections.singulars.replace(@singulars)
|
10
|
-
Sequel.inflections.uncountables.replace(@uncountables)
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should be possible to clear the list of singulars, plurals, and uncountables" do
|
14
|
-
Sequel.inflections.clear(:plurals)
|
15
|
-
Sequel.inflections.plurals.must_equal []
|
16
|
-
Sequel.inflections.plural('blah', 'blahs')
|
17
|
-
Sequel.inflections.clear
|
18
|
-
Sequel.inflections.plurals.must_equal []
|
19
|
-
Sequel.inflections.singulars.must_equal []
|
20
|
-
Sequel.inflections.uncountables.must_equal []
|
21
|
-
end
|
22
|
-
|
23
|
-
it "should be yielded and returned by Sequel.inflections" do
|
24
|
-
Sequel.inflections{|i| i.must_equal Sequel::Inflections}.must_equal Sequel::Inflections
|
25
|
-
end
|
26
|
-
end
|