Где вы расширяете классы в вашем приложении rails? - PullRequest
4 голосов
/ 30 мая 2010

Просто собираюсь расширить класс Array следующим расширением:

class Array
  def shuffle!
    size.downto(1) { |n| push delete_at(rand(n)) }
    self
  end
end

Однако мне было интересно, где хорошее место для хранения такого рода расширений. Я думал, что Environment.rb или положить в свой собственный файл в каталоге инициализаторов.

1 Ответ

11 голосов
/ 30 мая 2010

Я обычно следую соглашению ActiveSupport, которое должно быть помещено в lib/core_ext/#{class}.rb - в данном случае lib/core_ext/array.rb. Как отмечает Джон Хайланд, вы можете явно запрашивать файл там, где это необходимо, или помещать оператор require в инициализаторах.

...