Sha256: 2517b30e8a62422b25d61cde6ca4ea19ce8c75247e7e37b61f01792eeb2c6abc
Contents?: true
Size: 1.94 KB
Versions: 8
Compression:
Stored size: 1.94 KB
Contents
class AmqpGenerator < RubiGen::Base default_options :author => nil attr_reader :name def initialize(runtime_args, runtime_options = {}) super usage if args.empty? @name = args.shift extract_options end def manifest record do |m| # Ensure appropriate folder(s) exists m.directory '' # Create stubs # m.template "template.rb.erb", "some_file_after_erb.rb" # m.template_copy_each ["template.rb", "template2.rb"] # m.template_copy_each ["template.rb", "template2.rb"], "some/path" # m.file "file", "some_file_copied" # m.file_copy_each ["path/to/file", "path/to/file2"] # m.file_copy_each ["path/to/file", "path/to/file2"], "some/path" # Copy over our configs m.directory 'config' m.template 'config/amqp.yml', 'config/amqp.yml' m.directory 'config/initializers' m.template 'config/initializers/amqp.rb', "config/initializers/#{name}.rb" # Copy over our daemon m.directory 'libexec' m.template 'libexec/daemon.rb', "libexec/#{name}.rb" end end protected def banner <<-EOS Creates a ... USAGE: #{$0} #{spec.name} name EOS end def add_options!(opts) # opts.separator '' # opts.separator 'Options:' # For each option below, place the default # at the top of the file next to "default_options" # opts.on("-a", "--author=\"Your Name\"", String, # "Some comment about this option", # "Default: none") { |o| options[:author] = o } # opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.") end def extract_options # for each option, extract it into a local variable (and create an "attr_reader :author" at the top) # Templates can access these value via the attr_reader-generated methods, but not the # raw instance variable value. # @author = options[:author] end end
Version data entries
8 entries across 8 versions & 2 rubygems