(StackOverflow говорит мне, что этот вопрос "субъективен и, вероятно, будет закрыт"... ну, я дам ему шанс)
Я пишу кучу вспомогательных методов (для пакета TextMate), и мне бы хотелось (и мне нужно), чтобы они были аккуратно импоставлены.
Эти методы - действительно просто функции, то есть они не работают ни на чем вне их собственной сферы действия и, следовательно, действительно не принадлежат к классу. Там ничего не нужно создавать.
До сих пор я делал это, и это прекрасно работает
module Helpers::Foo
module_function
def bar
# ...
end
end
Helpers::Foo.bar # this is how I'd like to call the method/function
Но было бы лучше:
1. Пропустите module_function
и объявите методы/функции как self.*
?
2. Или было бы лучше объявить класс вместо модуля?
3. Или используйте class << self
(внутри модуля или класса)?
4. Или что-то еще?
Я понимаю, что это довольно открытый вопрос, но я действительно просто хочу услышать, что делают люди.