class Skr::SequentialId

Constants

FUNCTION_NAME

Public Class Methods

next_for( klass ) click to toggle source
# File lib/skr/models/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 ) click to toggle source
# File lib/skr/models/sequential_id.rb, line 18
def self.set_next( klass, value )
    record = self.find_or_initialize_by(name: klass.to_s)
    return if record.new_record? and 0 == value.to_i
    record.unlock_fields(:current_value) do
        record.current_value = value.to_i
        record.save
    end
end