Class | Sequel::Mock::Database
In: | lib/sequel/adapters/mock.rb
Parent: | Sequel::Database

Database class for Sequel‘s mock adapter.

### Methods

connect execute execute_ddl execute_dui execute_insert new sqls supports_savepoints?

### Attributes

autoid

[W]

Set the autogenerated primary key integer to be returned when running an insert query. Argument types supported:

nil : | Return nil for all inserts
Integer : | Starting integer for next insert, with futher inserts getting an incremented value
Array : | First insert gets the first value in the array, second gets the second value, etc.
Proc : | Called with the insert SQL query, uses the value returned
Class : | Should be an Exception subclass, will create a new instance an raise it wrapped in a DatabaseError.

columns

[W]

Set the columns to set in the dataset when the dataset fetches rows. Argument types supported:

nil : | Set no columns

Array of Symbols: Used for all datasets Array (otherwise): First retrieval gets the first value in the

                       array, second gets the second value, etc.

Proc : | Called with the select SQL query, uses the value returned, which should be an array of symbols

fetch

[W]

Set the hashes to yield by execute when retrieving rows. Argument types supported:

nil : | Yield no rows
Hash : | Always yield a single row with this hash
Array of Hashes : | Yield separately for each hash in this array
Array (otherwise) : | First retrieval gets the first value

             in the array, second gets the second value, etc.

Proc : | Called with the select SQL query, uses the value returned, which should be a hash or array of hashes.
Class : | Should be an Exception subclass, will create a new instance an raise it wrapped in a DatabaseError.

numrows

[W]

Set the number of rows to return from update or delete. Argument types supported:

nil : | Return 0 for all updates and deletes
Integer : | Used for all updates and deletes
Array : | First update/delete gets the first value in the array, second gets the second value, etc.
Proc : | Called with the update/delete SQL query, uses the value returned.
Class : | Should be an Exception subclass, will create a new instance an raise it wrapped in a DatabaseError.

### Public Class methods

new(opts={})

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.

[Source]

         # File lib/sequel/adapters/mock.rb, line 95
     95:       def initialize(opts={})
     96:         super
     97:         opts = @opts
     98:         self.autoid = opts[:autoid]
     99:         self.columns = opts[:columns]
    100:         self.fetch = opts[:fetch]
    101:         self.numrows = opts[:numrows]
    102:         extend(opts[:extend]) if opts[:extend]
    103:         @sqls = opts[:sqls] || []
    104:       end

### Public Instance methods

connect(server)

Return a related Connection option connecting to the given shard.

[Source]

         # File lib/sequel/adapters/mock.rb, line 107
    107:       def connect(server)
    108:         Connection.new(self, server, server_opts(server))
    109:       end

execute(sql, opts={}, &block)

Store the sql used for later retrieval with sqls, and return the appropriate value using either the autoid, fetch, or numrows methods.

[Source]

         # File lib/sequel/adapters/mock.rb, line 114
    114:       def execute(sql, opts={}, &block)
    115:         synchronize(opts[:server]){|c| _execute(c, sql, opts, &block)}
    116:       end

execute_ddl(sql, opts={}, &block)

Alias for execute

execute_dui(sql, opts={})

Store the sql used, and return the value of the numrows method.

[Source]

         # File lib/sequel/adapters/mock.rb, line 120
    120:       def execute_dui(sql, opts={})
    121:         execute(sql, opts.merge(:meth=>:numrows))
    122:       end

execute_insert(sql, opts={})

Store the sql used, and return the value of the autoid method.

[Source]

         # File lib/sequel/adapters/mock.rb, line 125
    125:       def execute_insert(sql, opts={})
    126:         execute(sql, opts.merge(:meth=>:autoid))
    127:       end

sqls()

Return all stored SQL queries, and clear the cache of SQL queries.

[Source]

         # File lib/sequel/adapters/mock.rb, line 131
    131:       def sqls
    132:         s = @sqls.dup
    133:         @sqls.clear
    134:         s
    135:       end

supports_savepoints?()

Enable use of savepoints.

[Source]

         # File lib/sequel/adapters/mock.rb, line 138
    138:       def supports_savepoints?
    139:         true
    140:       end

[Validate]