Module: ConsoleUtils::ActiveRecordUtils::RandomRecord::FinderMethods

Defined in:
lib/console_utils/active_record_utils/random_record.rb

Instance Method Summary collapse

Instance Method Details

#anyid(n = nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/console_utils/active_record_utils/random_record.rb', line 12

def anyid(n = nil)
  if n
    @_anyid_history[-n.abs].presence || anyid()
  else
    idval = connection.select_value(select(:id).random.limit(1))
    model.type_for_attribute('id').send(:cast_value, idval).tap do |result|
      (@_anyid_history ||= []) << result
      @_anyid_history.shift if @_anyid_history.size > 10
    end
  end
end

#anyoneObject



8
9
10
# File 'lib/console_utils/active_record_utils/random_record.rb', line 8

def anyone
  random.first
end

#randomObject



4
5
6
# File 'lib/console_utils/active_record_utils/random_record.rb', line 4

def random
  reorder('RANDOM()')
end