Class: ETL::Generator::SurrogateKeyGenerator

Inherits:
Generator
  • Object
show all
Defined in:
lib/etl/generator/surrogate_key_generator.rb

Overview

Surrogate key generator.

Instance Method Summary collapse

Methods inherited from Generator

class_for_name

Constructor Details

#initialize(options = {}) ⇒ SurrogateKeyGenerator

Initialize the generator



8
9
10
11
12
13
14
# File 'lib/etl/generator/surrogate_key_generator.rb', line 8

def initialize(options={})
  if options[:query]
    @surrogate_key = ETL::ActiveRecord::Base.connection.select_value(options[:query])
    @surrogate_key = 0 if @surrogate_key.blank?
    @surrogate_key = @surrogate_key.to_i
  end
end

Instance Method Details

#nextObject

Get the next surrogate key



17
18
19
20
# File 'lib/etl/generator/surrogate_key_generator.rb', line 17

def next
  @surrogate_key ||= 0
  @surrogate_key += 1
end