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
8 9 10 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 8 def sproc_args=(value) @sproc_args = value end |
#sproc_name ⇒ Object
The name of the stored procedure to call
5 6 7 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 5 def sproc_name @sproc_name end |
Instance Method Details
#call(*args, &block) ⇒ Object
Call the stored procedure with the given args
11 12 13 14 15 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 11 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.
19 20 21 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 19 def inspect "<#{self.class.name}/StoredProcedure name=#{@sproc_name}>" end |
#run(&block) ⇒ Object
Run the stored procedure with the current args on the database
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 24 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).
42 43 44 45 |
# File 'lib/sequel/adapters/utils/stored_procedures.rb', line 42 def sproc_type=(type) @sproc_type = type @opts[:sql] = '' end |