diff --git a/lib/active_graph.rb b/lib/active_graph.rb index fbe28a308..19be77304 100644 --- a/lib/active_graph.rb +++ b/lib/active_graph.rb @@ -26,6 +26,8 @@ loader.ignore(File.expand_path('rails', __dir__)) loader.ignore(File.expand_path('active_graph/railtie.rb', __dir__)) loader.inflector.inflect("ansi" => "ANSI") +module ActiveGraph +end loader.setup # loader.eager_load diff --git a/lib/active_graph/railtie.rb b/lib/active_graph/railtie.rb index 7f94a7c7b..3fdbeacb7 100644 --- a/lib/active_graph/railtie.rb +++ b/lib/active_graph/railtie.rb @@ -1,11 +1,6 @@ # Need the action_dispatch railtie to have action_dispatch.rescue_responses initialized correctly require 'action_dispatch/railtie' -require 'rails/generators' -require 'rails/generators/active_model' -require 'rails/generators/named_base' require 'rails/railtie' -require File.expand_path('../rails/generators/migration_helper.rb', __dir__) -Rails::Generators::GeneratedAttribute.include ActiveGraph::Generators::GeneratedAttribute require 'active_graph' module ActiveGraph @@ -44,6 +39,13 @@ def empty_config ActiveGraph::Config[:verbose_query_logs] = false end + # By default, Rails loads generators from load path. + # However, if we want to place generators at a different location we have to use "generators" hook + # https://api.rubyonrails.org/classes/Rails/Railtie.html + generators do + require File.expand_path('../rails/generators/migration_helper.rb', __dir__) + end + # Starting Neo after :load_config_initializers allows apps to # register migrations in config/initializers initializer 'neo4j.start', after: :load_config_initializers do |app| diff --git a/lib/rails/generators/migration_helper.rb b/lib/rails/generators/migration_helper.rb index 5a2df2875..507e84333 100644 --- a/lib/rails/generators/migration_helper.rb +++ b/lib/rails/generators/migration_helper.rb @@ -101,3 +101,6 @@ def type_class end end end + +require 'rails/generators/named_base' +Rails::Generators::GeneratedAttribute.include ActiveGraph::Generators::GeneratedAttribute