Skip to content

Commit

Permalink
Merge pull request #164 from Navdevl/fix-unneeded-migration-creation
Browse files Browse the repository at this point in the history
Handling the unneeded migration filecreation using method_added capture approach
  • Loading branch information
grzegorz-jakubiak authored Jul 4, 2021
2 parents 2872dc3 + 2e30901 commit bbcae43
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions lib/activeadmin-mongoid.rb
Original file line number Diff line number Diff line change
@@ -1 +1,29 @@
require 'active_admin/mongoid'
require "rails/generators/actions"
require "rails/generators/named_base"

# Considering the Rails::Generators::NamedBase is one of the nearest ancestor to
# ActiveAdmin::Generators::InstallGenerator, we can open the class and an empty create_migration
# to the class(which will overridden by other subclasses). We can specifically focus on the
# ActiveAdmin::Generators::InstallGenerator class and apply remove_method during the method_added call
# and thereby pushing ActiveAdmin::Generators::InstallGenerator to use our empty create_migrations method.

Rails::Generators::NamedBase.class_eval do

def create_migrations
end

def self.inherited(klass)
super
if klass.name == "ActiveAdmin::Generators::InstallGenerator"

klass.class_eval do
def self.method_added(method_name)
super
remove_method method_name if method_name == :create_migrations
end
end
end
end
end

0 comments on commit bbcae43

Please sign in to comment.