| Class | Sequel::Mock::Database |
| In: |
lib/sequel/adapters/mock.rb
|
| Parent: | Sequel::Database |
| SHARED_ADAPTERS | = | { 'access'=>'Access', 'db2'=>'DB2', 'firebird'=>'Firebird', 'informix'=>'Informix', 'mssql'=>'MSSQL', 'mysql'=>'MySQL', 'oracle'=>'Oracle', 'postgres'=>'Postgres', 'sqlite'=>'SQLite' | Map of database type names to module names, used for handling mock adapters for specific database types. |
| autoid | [W] |
Set the autogenerated primary key integer to be returned when running an
insert query. Argument types supported:
|
||||||||||||
| columns | [W] |
Set the columns to set in the dataset when the dataset fetches rows.
Argument types supported:
Array of Symbols: Used for all datasets Array (otherwise): First retrieval gets the first value in the
array, second gets the second value, etc.
|
||||||||||||
| fetch | [W] |
Set the hashes to yield by execute when
retrieving rows. Argument types supported:
|
||||||||||||
| numrows | [W] |
Set the number of rows to return from update or delete. Argument types
supported:
|
Additional options supported:
| :autoid : | Call autoid= with the value |
| :columns : | Call columns= with the value |
| :fetch : | Call fetch= with the value |
| :numrows : | Call numrows= with the value |
| :extend : | A module the object is extended with. |
| :sqls : | The array to store the SQL queries in. |
# File lib/sequel/adapters/mock.rb, line 109
109: def initialize(opts={})
110: super
111: opts = @opts
112: if mod_name = SHARED_ADAPTERS[opts[:host]]
113: require "sequel/adapters/shared/#{opts[:host]}"
114: extend Sequel.const_get(mod_name)::DatabaseMethods
115: extend_datasets Sequel.const_get(mod_name)::DatasetMethods
116: end
117: self.autoid = opts[:autoid]
118: self.columns = opts[:columns]
119: self.fetch = opts[:fetch]
120: self.numrows = opts[:numrows]
121: extend(opts[:extend]) if opts[:extend]
122: @sqls = opts[:sqls] || []
123: end
Return a related Connection option connecting to the given shard.
# File lib/sequel/adapters/mock.rb, line 126
126: def connect(server)
127: Connection.new(self, server, server_opts(server))
128: end
Store the sql used for later retrieval with sqls, and return the appropriate value using either the autoid, fetch, or numrows methods.
# File lib/sequel/adapters/mock.rb, line 133
133: def execute(sql, opts={}, &block)
134: synchronize(opts[:server]){|c| _execute(c, sql, opts, &block)}
135: end
Store the sql used, and return the value of the numrows method.
# File lib/sequel/adapters/mock.rb, line 139
139: def execute_dui(sql, opts={})
140: execute(sql, opts.merge(:meth=>:numrows))
141: end
Store the sql used, and return the value of the autoid method.
# File lib/sequel/adapters/mock.rb, line 144
144: def execute_insert(sql, opts={})
145: execute(sql, opts.merge(:meth=>:autoid))
146: end