module ConsoleUtils::ActiveRecordUtils::RandomRecord::FinderMethods

Public Instance Methods

anyid(n = nil) click to toggle source
# 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
anyone() click to toggle source
# File lib/console_utils/active_record_utils/random_record.rb, line 8
def anyone
  random.first
end
random() click to toggle source
# File lib/console_utils/active_record_utils/random_record.rb, line 4
def random
  reorder('RANDOM()')
end