module Sequel::Plugins::InsertReturningSelect::ClassMethods
Attributes
instance_insert_dataset[R]
The dataset to use to insert new rows. For internal use only.
Public Instance Methods
freeze()
click to toggle source
Freeze instance insert dataset when freezing model class.
Calls superclass method
# File lib/sequel/plugins/insert_returning_select.rb, line 34 def freeze super @instance_insert_dataset.freeze if @instance_insert_dataset self end
Private Instance Methods
insert_returning_columns(ds)
click to toggle source
Determine the columns to use for the returning clause, or return nil if they can't be determined and a returning clause should not be added automatically.
# File lib/sequel/plugins/insert_returning_select.rb, line 59 def insert_returning_columns(ds) return unless ds.supports_returning?(:insert) return unless values = ds.opts[:select] values = values.map{|v| ds.unqualified_column_for(v)} if values.all? values end end
reset_instance_dataset()
click to toggle source
When reseting the instance dataset, also reset the instance_insert_dataset.
Calls superclass method
# File lib/sequel/plugins/insert_returning_select.rb, line 44 def reset_instance_dataset ret = super return unless ds = @instance_dataset if columns = insert_returning_columns(ds) ds = ds.returning(*columns) end @instance_insert_dataset = ds ret end