Class: Skr::SequentialId

Inherits:
Model
  • Object
show all
Defined in:
lib/skr/sequential_id.rb

Constant Summary collapse

FUNCTION_NAME =
"#{Skr::Core.config.table_prefix}next_sequential_id"

Class Method Summary collapse

Class Method Details

.next_for(klass) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/skr/sequential_id.rb', line 9

def self.next_for( klass )
    begin
        res=ActiveRecord::Base.connection.raw_connection.exec( "select #{FUNCTION_NAME}( $1 )", [ klass.to_s ] )
        res.getvalue(0,0).to_i
    ensure
        res.clear if res
    end
end

.set_next(klass, value) ⇒ Object



18
19
20
# File 'lib/skr/sequential_id.rb', line 18

def self.set_next( klass, value )
    self.connection.raw_connection.exec( "update #{table_name} set current_value = $1 where name = $2", [ value, klass.to_s ] )
end