class Modular::EngineBuilder

Constants

PASSTHROUGH_OPTIONS

Public Instance Methods

app() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 13
def app
  directory 'app'
  empty_directory_with_keep_file "app/assets/images/#{namespaced_name}"
  empty_directory "app/decorators"
  empty_directory_with_keep_file "app/decorators/controllers"
  empty_directory_with_keep_file "app/decorators/models"
  empty_directory_with_keep_file "app/overrides"
  empty_directory_with_keep_file "app/views/#{namespaced_name}/overrides"

end
bin(force = false) click to toggle source
# File lib/generators/modular/engine_generator.rb, line 86
def bin(force = false)
  return unless engine?

  directory "bin", force: force do |content|
    "#{shebang}\n" + content
  end
  chmod "bin", 0755, verbose: false
end
config() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 52
def config
  template "config/routes.rb" if engine?
end
gemfile() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 28
def gemfile
  template "Gemfile"
end
gemfile_entry() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 95
def gemfile_entry
  return unless inside_application?

  gemfile_in_app_path = File.join(rails_app_path, "Gemfile")
  if File.exist? gemfile_in_app_path
    entry = "gem '#{name}', path: '#{relative_path}'"
    append_file gemfile_in_app_path, entry
  end
end
gemspec() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 36
def gemspec
  template "%engine_loader%.gemspec"
end
gitignore() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 40
def gitignore
  template "gitignore", ".gitignore"
end
javascripts() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 79
def javascripts
  return if options.skip_javascript?

  template "rails/javascripts.js",
             "app/assets/javascripts/#{namespaced_name}/application.js"
end
lib() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 44
def lib
  template "lib/%namespaced_name%.rb"
  template "lib/%engine_loader%.rb"
  template "lib/tasks/%namespaced_name%_tasks.rake"
  template "lib/%namespaced_name%/version.rb"
  template "lib/%namespaced_name%/engine.rb"
end
license() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 32
def license
  template "MIT-LICENSE"
end
rakefile() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 9
def rakefile
  template "Rakefile"
end
readme() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 24
def readme
  template "README.rdoc"
end
stylesheets() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 74
def stylesheets
  copy_file "rails/stylesheets.css",
              "app/assets/stylesheets/#{namespaced_name}/application.css"
end
test() click to toggle source
# File lib/generators/modular/engine_generator.rb, line 56
    def test
      template "test/test_helper.rb"
      template "test/%namespaced_name%_test.rb"
      append_file "Rakefile", <<-EOF.gsub(/^\s+\|/, '')
        |#{rakefile_test_tasks}
        |
        |task default: :test
      EOF
      if engine?
        template "test/integration/navigation_test.rb"
      end
    end