Где хранить сокращения для длинных имен классов в Rails? - PullRequest
3 голосов
/ 03 октября 2019

Мне постоянно нужно использовать длинное имя класса, например,

SomeReallyLongModuleName::AnotherLongModuleName::YetAnotherLongClassName

в проекте. Я хочу получить доступ к этому классу что-то вроде YALCN. Где лучше сохранить определение, например

YALCN = SomeReallyLongModuleName::AnotherLongModuleName::YetAnotherLongClassName

И является ли это обычной практикой, или люди постоянно используют полностью квалифицированное длинное имя?

Ответы [ 3 ]

3 голосов
/ 03 октября 2019

Если это только для использования консоли Rails, я бы поместил их в /lib/aliases.rb или где-то похожее и require файл, когда это необходимо.

2 голосов
/ 03 октября 2019

Вы можете сделать "локальные" псевдонимы. Как то так:

class Another
  YALCN = SomeReallyLongModuleName::AnotherLongModuleName::YetAnotherLongClassName

  def do_something
    YALCN.new # or whatever
  end
end
1 голос
/ 03 октября 2019

Чтобы избежать проблем с автозагрузкой, я бы держал короткие константы в том же месте, где они используются.

И это обычная практика, или люди постоянно используют полностью квалифицированное длинное имя?

Я не видел это слишком часто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...