Aby 1. Utworzyć / otworzyć moduł, mówiąc po prostu:
module MyModule
def first_module_method
end
end
Do 2. lib
folderu. Jeśli chcesz uporządkować swoje moduły w lib
folderze, możesz je same umieścić w modułach. Na przykład, jeśli chcesz mieć podfolder, super_modules
Twoje moduły będą zdefiniowane w następujący sposób:
module SuperModules
module MyModule
def first_module_method
end
end
end
Do 3./5. Włączając moduł do klasy, możesz po prostu wywołać metody modułów tak, jakby były zdefiniowane w klasie:
class MyClass
include MyModule
def some_method
first_module_method
end
end
Do 4. Najpierw upewnij się, że Twój moduł jest naprawdę potrzebny w każdej klasie Twojej aplikacji. Jeśli nie jest, sensowne jest umieszczanie go tylko tam, gdzie jest to potrzebne, aby nie nadużywać klas, które i tak go nie potrzebują. Jeśli naprawdę chcesz, aby moduł był wszędzie, spójrz na hierarchię klas swoich klas w aplikacji. Czy chcesz mieć moduł we wszystkich modelach? Możesz otworzyć ActiveRecord :: Base i dodać tam swój moduł.