lib/generators/mongoid/aasm_generator.rb
require 'rails/generators/named_base' require 'generators/aasm/orm_helpers' module Mongoid module Generators class AASMGenerator < Rails::Generators::NamedBase include AASM::Generators::OrmHelpers namespace "mongoid:aasm" argument :column_name, type: :string, default: 'aasm_state' def generate_model invoke "mongoid:model", [name] unless model_exists? end def inject_aasm_content inject_into_file model_path, model_contents, after: "include Mongoid::Document\n" if model_exists? end def inject_field_types inject_into_file model_path, migration_data, after: "include Mongoid::Document\n" if model_exists? end def migration_data " field :#{column_name}" end end end end