class ActiveRecordBlockMatchers::IdStrategy
Attributes
block[R]
Public Class Methods
new(block)
click to toggle source
# File lib/active_record_block_matchers/strategies/id_strategy.rb, line 4 def initialize(block) @block = block end
Public Instance Methods
new_records(classes)
click to toggle source
# File lib/active_record_block_matchers/strategies/id_strategy.rb, line 8 def new_records(classes) ids_before = classes.each_with_object({}) do |klass, ids_before| ids_before[klass] = klass.select("MAX(#{column_name}) as max_id").take.try(:max_id) || 0 end block.call classes.each_with_object({}) do |klass, new_records| id_before = ids_before[klass] new_records[klass] = klass.where("#{column_name} > ?", id_before).to_a end end
Private Instance Methods
column_name()
click to toggle source
# File lib/active_record_block_matchers/strategies/id_strategy.rb, line 25 def column_name @column_name ||= ActiveRecordBlockMatchers::Config.id_column_name end