Module: Sequel::Dataset::StoredProcedureMethods
- Defined in:
- lib/sequel/adapters/utils/stored_procedures.rb
Instance Attribute Summary collapse
-
#sproc_args ⇒ Object
writeonly
The name of the stored procedure to call.
-
#sproc_name ⇒ Object
The name of the stored procedure to call.
Instance Method Summary collapse
-
#call(*args, &block) ⇒ Object
Call the stored procedure with the given args.
-
#inspect ⇒ Object
Programmer friendly string showing this is a stored procedure, showing the name of the procedure.
-
#run(&block) ⇒ Object
Run the stored procedure with the current args on the database.
-
#sproc_type=(type) ⇒ Object
Set the type of the stored procedure and override the corresponding _sql method to return the empty string (since the result will be ignored anyway).
Instance Attribute Details
#sproc_args=(value) ⇒ Object (writeonly)
The name of the stored procedure to call
10 11 12 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 10 def sproc_args=(value) @sproc_args = value end |
#sproc_name ⇒ Object
The name of the stored procedure to call
7 8 9 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 7 def sproc_name @sproc_name end |
Instance Method Details
#call(*args, &block) ⇒ Object
Call the stored procedure with the given args
13 14 15 16 17 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 13 def call(*args, &block) sp = clone sp.sproc_args = args sp.run(&block) end |
#inspect ⇒ Object
Programmer friendly string showing this is a stored procedure, showing the name of the procedure.
21 22 23 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 21 def inspect "<#{self.class.name}/StoredProcedure name=#{@sproc_name}>" end |
#run(&block) ⇒ Object
Run the stored procedure with the current args on the database
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 26 def run(&block) case @sproc_type when :select, :all all(&block) when :first first when :insert insert when :update update when :delete delete end end |
#sproc_type=(type) ⇒ Object
Set the type of the stored procedure and override the corresponding _sql method to return the empty string (since the result will be ignored anyway).
44 45 46 47 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 44 def sproc_type=(type) @sproc_type = type @opts[:sql] = '' end |