Class: Tap::Generator::Generators::ConfigGenerator

Inherits:
Base show all
Defined in:
lib/tap/generator/generators/config/config_generator.rb

Overview

:startdoc: Tap::Generator::Generators::ConfigGenerator::generator a config file for a task

Generates a new config file for a task. The configurations, defaults, and documentation is determined from the task source file.

Constant Summary

Constants inherited from Base

Base::Constant

Constants inherited from Task

Task::DEFAULT_HELP_TEMPLATE

Instance Attribute Summary

Attributes inherited from Base

#file_task, #target_dir, #template_dir

Attributes inherited from Task

#name

Attributes included from Support::Executable

#_method_name, #app, #batch, #dependencies, #on_complete_block

Attributes included from Support::Configurable

#config

Instance Method Summary collapse

Methods inherited from Base

#directories, #directory, #file, #initialize, #iterate, lazydoc, #log_relative, #process, #template, #template_files

Methods inherited from Task

execute, help, inherited, #initialize, #initialize_batch_obj, #inspect, instance, intern, lazydoc, #log, parse, parse!, #process, #to_s

Methods included from Support::Executable

#_execute, #batch_index, #batch_with, #batched?, #check_terminate, #depends_on, #enq, #execute, #fork, initialize, #initialize_batch_obj, #inspect, #merge, #on_complete, #reset_dependencies, #resolve_dependencies, #sequence, #switch, #sync_merge, #unbatched_depends_on, #unbatched_enq, #unbatched_on_complete

Methods included from Support::Configurable

included, #initialize_copy, #reconfigure

Constructor Details

This class inherits a constructor from Tap::Generator::Base

Instance Method Details

#envObject



11
12
13
# File 'lib/tap/generator/generators/config/config_generator.rb', line 11

def env
  Tap::Env.instance
end

#manifest(m, name, config_name = name) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/tap/generator/generators/config/config_generator.rb', line 15

def manifest(m, name, config_name=name)
  const = env.tasks.search(name) or raise "unknown task: #{name}"
  task_class = const.constantize or raise "unknown task: #{name}"
  
  m.directory app['config']
  m.file app.filepath('config', config_name + '.yml') do |file|
    task_class.configurations.inspect((doc ? :doc : :nodoc), file)
  end
end