Module: Sequel
- Defined in:
- lib/sequel/model.rb,
lib/sequel/model.rb,
lib/sequel/schema.rb,
lib/sequel/worker.rb,
lib/sequel/core_ext.rb,
lib/sequel/database.rb,
lib/sequel/array_keys.rb,
lib/sequel/model/base.rb,
lib/sequel/model/hooks.rb,
lib/sequel/model/record.rb,
lib/sequel/model/schema.rb,
lib/sequel/model/caching.rb,
lib/sequel/model/plugins.rb,
lib/sequel/connection_pool.rb,
lib/sequel/model/relations.rb,
lib/sequel/adapters/odbc_mssql.rb,
lib/sequel/schema/schema_generator.rb
Defined Under Namespace
Modules: NumericExtensions, ODBC, Plugins, Schema Classes: ConnectionPool, Database, Model, SingleThreadedPool, Worker
Class Method Summary collapse
-
.Model(source) ⇒ Object
Lets you create a Model class with its table name already set or reopen an existing Model.
-
.use_array_tuples ⇒ Object
Modifies all dataset classes to fetch records as arrays with keys.
-
.use_hash_tuples ⇒ Object
Modifies all dataset classes to fetch records as hashes.
Class Method Details
.Model(source) ⇒ Object
88 89 90 91 92 93 94 95 |
# File 'lib/sequel/model/base.rb', line 88 def self.Model(source) @models ||= {} @models[source] ||= Class.new(Sequel::Model) do (:inherited) do |c| c.set_dataset(source.is_a?(Dataset) ? source : c.db[source]) end end end |
.use_array_tuples ⇒ Object
Modifies all dataset classes to fetch records as arrays with keys. By default records are fetched as hashes.
260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 |
# File 'lib/sequel/array_keys.rb', line 260 def self.use_array_tuples Dataset.dataset_classes.each do |c| c.class_eval do if method_defined?(:array_tuples_fetch_rows) alias_method :hash_tuples_fetch_rows, :fetch_rows alias_method :fetch_rows, :array_tuples_fetch_rows else alias_method :orig_each, :each alias_method :orig_update_each_method, :update_each_method include ArrayKeys::DatasetExtensions alias_method :each, :array_tuples_each alias_method :update_each_method, :array_tuples_update_each_method end end end end |
.use_hash_tuples ⇒ Object
Modifies all dataset classes to fetch records as hashes.
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 |
# File 'lib/sequel/array_keys.rb', line 278 def self.use_hash_tuples Dataset.dataset_classes.each do |c| c.class_eval do if method_defined?(:hash_tuples_fetch_rows) alias_method :fetch_rows, :hash_tuples_fetch_rows else if method_defined?(:orig_each) alias_method :each, :orig_each undef_method :orig_each end if method_defined?(:orig_update_each_method) alias_method :update_each_method, :orig_update_each_method undef_method :orig_update_each_method end end end end end |