class Cranium::Transformation::Sequence
Attributes
name[R]
Public Class Methods
by_name(name)
click to toggle source
# File lib/cranium/transformation/sequence.rb, line 31 def by_name(name) @sequences ||= {} if @sequences[name].nil? @sequences[name] = new name Cranium.application.after_import { @sequences[name].flush } end @sequences[name] end
new(name)
click to toggle source
# File lib/cranium/transformation/sequence.rb, line 7 def initialize(name) @name = name end
Public Instance Methods
flush()
click to toggle source
# File lib/cranium/transformation/sequence.rb, line 23 def flush Cranium::Database.connection.run "SELECT setval('#{@name}', #{@current_value})" unless @current_value.nil? end
next_value()
click to toggle source
# File lib/cranium/transformation/sequence.rb, line 13 def next_value if @current_value.nil? @current_value = Cranium::Database.connection["SELECT nextval('#{@name}') AS next_value"].first[:next_value] else @current_value += 1 end end