Т.е., с учетом объекта набора данных ds = DB[:transactions].where{updated_at > 1.day.ago} - без смешных объединений и тому подобного - как я могу получить имя таблицы (:transactions)?
ds = DB[:transactions].where{updated_at > 1.day.ago}
:transactions
Если вы хотите первую таблицу в наборе данных, вы можете использовать ds.first_source.
ds.first_source
Если вы хотите, чтобы это была строка, вы можете сделать:
ds.first_source_table.to_s
Если вам нужен символ, просто опустите .to_s
.to_s
На основе предоставленного примера я бы сделал что-то вроде этого.
ds.klass.name
Это вернет строку с именем вашей таблицы.