class DaemonKit::Generators::AppGenerator

Constants

DEPLOYERS
INSTALLERS
TEST_FRAMEWORKS

Public Class Methods

new( *args ) click to toggle source
Calls superclass method
# File lib/generators/daemon_kit/app/app_generator.rb, line 26
def initialize( *args )
  super

  unless INSTALLERS.include?( options[:installer] )
    raise Error, "Invalid value for --installer option. Supported installers are: #{INSTALLERS.join(', ')}"
  end

  if options[:deployer] && !DEPLOYERS.include?( options[:deployer] )
    raise Error, "Invalid value for --deployer option. Supported deployers are: #{DEPLOYERS.join(', ')}"
  end

  unless TEST_FRAMEWORKS.include?( options[:test_framework] )
    raise Error, "Invalid value for --test_framework option. Supported frameworks are: #{TEST_FRAMEWORKS.join(', ')}"
  end
end

Protected Class Methods

source_root() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 140
def self.source_root
  File.expand_path( File.join( File.dirname(__FILE__), 'templates') )
end

Public Instance Methods

create_bin_files() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 57
def create_bin_files
  empty_directory 'bin'
  template 'bin/daemon.tt', "bin/#{app_name}" do |content|
    "#{shebang}\n" + content
  end
  chmod "bin", 0755, :verbose => false
end
create_config_files() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 65
def create_config_files
  directory 'config'
end
create_cucumber() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 133
def create_cucumber
  return unless options.cucumber?
  invoke DaemonKit::Generators::CucumberGenerator
end
create_deployment_config() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 113
def create_deployment_config
  return unless options[:deployer]

  case options[:deployer]
  when 'capistrano'
    invoke DaemonKit::Generators::CapistranoGenerator
  end
end
create_lib_exec() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 96
def create_lib_exec
  case options[:installer]
  when 'default'
    directory 'libexec'
  when 'amqp'
    invoke DaemonKit::Generators::AmqpGenerator
  when 'sqs'
    invoke DaemonKit::Generators::SqsGenerator
  when 'cron'
    invoke DaemonKit::Generators::CronGenerator
  when 'ruote'
    invoke DaemonKit::Generators::RuoteGenerator
  when 'xmpp'
    invoke DaemonKit::Generators::XmppGenerator
  end
end
create_lib_files() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 92
def create_lib_files
  directory 'lib'
end
create_log_directory() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 80
def create_log_directory
  empty_directory 'log'
end
create_readme() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 48
def create_readme
  template 'README.tt', 'README'
end
create_root() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 42
def create_root
  self.destination_root = File.expand_path( app_path, destination_root )
  empty_directory('.')
  FileUtils.cd( destination_root )
end
create_root_files() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 52
def create_root_files
  copy_file 'Rakefile'
  template 'Gemfile.tt', 'Gemfile'
end
create_script_files() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 69
def create_script_files
  directory 'script' do |content|
    "#{shebang}\n" + content
  end
  chmod 'script', 0755, :verbose => false
end
create_task_directory() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 76
def create_task_directory
  empty_directory 'tasks'
end
create_test_environment() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 122
def create_test_environment
  return if options[:test_framework] == 'none'

  case options[:test_framework]
  when 'rspec'
    invoke DaemonKit::Generators::SpecGenerator
  when 'test_unit'
    invoke DaemonKit::Generators::TestUnitGenerator
  end
end
create_tmp_directory() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 84
def create_tmp_directory
  empty_directory 'tmp'
end
create_vendor_directory() click to toggle source
# File lib/generators/daemon_kit/app/app_generator.rb, line 88
def create_vendor_directory
  empty_directory 'vendor'
end