Module: Tennpipes::Generators

Defined in:
lib/tennpipes-init.rb,
lib/tennpipes-init/generators/app.rb,
lib/tennpipes-init/generators/cli.rb,
lib/tennpipes-init/generators/task.rb,
lib/tennpipes-init/generators/model.rb,
lib/tennpipes-init/generators/helper.rb,
lib/tennpipes-init/generators/mailer.rb,
lib/tennpipes-init/generators/plugin.rb,
lib/tennpipes-init/generators/runner.rb,
lib/tennpipes-init/generators/actions.rb,
lib/tennpipes-init/generators/project.rb,
lib/tennpipes-init/generators/component.rb,
lib/tennpipes-init/generators/migration.rb,
lib/tennpipes-init/generators/controller.rb,
lib/tennpipes-init/tennpipes-tasks/sql-helpers.rb,
lib/tennpipes-init/generators/components/actions.rb

Overview

This module it’s used for register generators.

Can be useful for 3rd party generators:

# custom_generator.rb
class CustomGenerator < Thor::Group
  Tennpipes::Generators.add_generator(:custom_generator, self)
end

Now for handle generators in tennpipes you need to add it to into load_paths.

Tennpipes::Generators.load_paths << “custom_generator.rb”

Defined Under Namespace

Modules: Actions, Components, Runner, SqlHelpers Classes: App, AppRootNotFound, Cli, Component, Controller, Helper, Mailer, Migration, Model, Plugin, Project, Task

Constant Summary collapse

DEV_PATH =

Defines the absolute path to the tennpipes source folder.

File.expand_path("../../", File.dirname(__FILE__))
DEFAULT_HELPER_NAME =

Default helper name for use in tiny app skeleton generator.

"Helper".freeze

Class Method Summary collapse

Class Method Details

.add_generator(name, klass) ⇒ Hash

Global add a new generator class to tennpipes-init.

Examples:

Tennpipes::Generators.add_generator(:controller, Controller)

Parameters:

  • name (Symbol)

    Key name for generator mapping.

  • klass (Class)

    Class of generator.

Returns:

  • (Hash)

    generator mappings



52
53
54
# File 'lib/tennpipes-init.rb', line 52

def add_generator(name, klass)
  mappings[name] = klass
end

.load_components!Object

Load Global Actions and Component Actions then all files in load_path.



59
60
61
62
63
64
# File 'lib/tennpipes-init.rb', line 59

def load_components!
  require 'tennpipes-init/generators/actions'
  require 'tennpipes-init/generators/components/actions'
  require 'tennpipes-init/generators/runner'
  load_paths.flatten.each { |file| require file  }
end

.load_pathsObject

Store our generators paths.



28
29
30
# File 'lib/tennpipes-init.rb', line 28

def load_paths
  @_files ||= []
end

.mappingsObject

Return an ordered list of task with their class.



35
36
37
# File 'lib/tennpipes-init.rb', line 35

def mappings
  @_mappings ||= ActiveSupport::OrderedHash.new
end