Kiedy i gdzie mogę wymagać plików w aplikacji szyny?
Powiedzmy, że mam następujący plik w katalogu lib mojej aplikacji szyny:
#lib/proxy.rb
module SomeService
class ServiceProxy
def do_something
end
end
end
Jeśli chcę użyć ServiceProxy w modelu, mogę go użyć w następujący sposób:
#app/models/product.rb
require 'proxy'
class Product < ActiveRecord::Base
def do_something
proxy = SomeService::ServiceProxy.new
proxy.do_something
end
end
To działa, ale zauważyłem, że jeśli chcę użyć ServiceProxy w innym modelu, nie potrzebuję „wymagać„ proxy ”w drugim pliku modelu. Wydaje się, że „wymaganie„ proxy ”” w dowolnym modelu spowoduje dodanie go do ścieżki wyszukiwania.
Czy ktoś może wyjaśnić to zachowanie i najlepszą praktykę otaczającą go w aplikacji szyny?
Dzięki!
AKTUALIZACJA: Na podstawie odpowiedzi Floyda poniżej, jeśli mój plik ServiceProxy został zapisany jako taki,
#lib/some_service/service_proxy.rb
wtedy nie musiałbym wyraźnie wymagać pliku.