class JsonVoorhees::CreateEngineGenerator

Public Instance Methods

sprint() click to toggle source
# File lib/generators/json_voorhees/create_engine/create_engine_generator.rb, line 6
      def sprint
    inside "" do
            run "rails plugin new engines/#{module_snake} --mountable"
    end
    inside "engines/#{module_snake}" do
            add_dependency
            run "rails g json_voorhees:setup_engine #{module_snake}"
    end
    inside "config" do
            mount
    end
    inside "" do
            gem "#{module_snake}", :path => "engines/#{module_snake}"
            run "bundle install"
    end
end

Private Instance Methods

add_dependency() click to toggle source
# File lib/generators/json_voorhees/create_engine/create_engine_generator.rb, line 29
                  def add_dependency
                      inject_into_file "#{module_snake}.gemspec", after: "s.add_development_dependency \"sqlite3\"\n" do <<-'RUBY'
        s.add_development_dependency "json_voorhees"
                                RUBY
                                end
                  end
module_camel() click to toggle source
# File lib/generators/json_voorhees/create_engine/create_engine_generator.rb, line 36
def module_camel
           module_name.camelize
      end
module_snake() click to toggle source
# File lib/generators/json_voorhees/create_engine/create_engine_generator.rb, line 40
def module_snake
  module_name.underscore.downcase
end
mount() click to toggle source
# File lib/generators/json_voorhees/create_engine/create_engine_generator.rb, line 25
def mount
    gsub_file "routes.rb", "root to: \"app_index#app\"\n", "root to: \"app_index#app\"\n       mount #{module_camel}::Engine, at: '/'\n"
end