@ Рахул, основываясь на ответе на мой вопрос, единственный совет, который я могу дать здесь, - это использовать лучшие принципы проектирования ООП.Подкласс и модульный, где это возможно, а также с использованием ruby метапрограммирования.Если вам нужны методы, они должны быть где-то написаны.Но если вам нужны только геттеры, рассмотрите attr_reader
, если вам не нужны и сеттеры.
Если вы можете получить имена столбцов, вы можете использовать динамическое определение метода с чем-то вроде этого, предполагая, что db
волшебным образом определено там, где вы еще не ясно, мы будем предполагать, что это соединение с базой данных.
class Report
db.column_names.each do |col|
define_method(col.to_sym) { db.find(options={}) }
end
end
Если вы просто хотите, чтобы RubyMine прекратил вас раздражать, я полагаю, что он использует rubocop, и вы можете увидеть этот пост о том, как переопределить правила.
https://www.jetbrains.com/help/ruby/2017.1/rubocop.html
или
https://github.com/rubocop-hq/rubocop