Class: Tap::Generator::Generators::RootGenerator
- Defined in:
- lib/tap/generator/generators/root/root_generator.rb
Overview
:startdoc: Tap::Generator::Generators::RootGenerator::generator a basic tap directory structure
Generates a tap root directory structure. Use the switches to generate a Tapfile and/or a tap config file:
root
|- Rakefile
|- lib
|- sample.gemspec
|- tap.yml
|- Tapfile
`- test
|- tap_test_helper.rb
|- tap_test_suite.rb
`- tapfile_test.rb
Constant Summary
Constants inherited from Task
Instance Attribute Summary
Attributes inherited from Base
#prompt_in, #prompt_out, #template_dir
Attributes inherited from Task
Attributes included from Support::Executable
#app, #batch, #dependencies, #method_name, #on_complete_block
Instance Method Summary collapse
-
#manifest(m, root, project_name = nil) ⇒ Object
::args ROOT, PROJECT_NAME=basename(ROOT).
Methods inherited from Base
#directories, #directory, #file, #initialize, #iterate, #log_relative, #process, #template, #template_files
Methods inherited from Task
execute, help, inherited, #initialize, #initialize_batch_obj, #inspect, instance, intern, load, #log, parse, parse!, #process, #to_s, use
Methods included from Support::Executable
#_execute, #batch_index, #batch_with, #batched?, #check_terminate, #depends_on, #enq, #execute, #fork, initialize, #initialize_batch_obj, #merge, #on_complete, #reset_dependencies, #resolve_dependencies, #sequence, #switch, #sync_merge, #unbatched_depends_on, #unbatched_enq, #unbatched_on_complete
Constructor Details
This class inherits a constructor from Tap::Generator::Base
Instance Method Details
#manifest(m, root, project_name = nil) ⇒ Object
::args ROOT, PROJECT_NAME=basename(ROOT)
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/tap/generator/generators/root/root_generator.rb', line 28 def manifest(m, root, project_name=nil) r = Tap::Root.new(root) project_name = File.basename(r.root) if project_name == nil m.directory r.root m.directory r['lib'] template_files do |source, target| case when File.directory?(source) m.directory r[target] next when target == 'gemspec' m.template r[project_name + '.gemspec'], source, :project_name => project_name, :tapfile => tapfile, :config_file => config_file next when target =~ /tapfile/i next unless tapfile end m.template r[target], source, :project_name => project_name end ConfigGenerator.new(:doc => true).dump(m, r['tap'], Tap::App.configurations) do |configs| configs.each do |(key, config)| config.default = nil if key.to_s == 'root' end end if config_file end |