Module: Remi::Cli

Extended by:
Cli
Included in:
Cli
Defined in:
lib/remi/cli.rb

Instance Method Summary collapse

Instance Method Details

#executeObject



9
10
11
12
# File 'lib/remi/cli.rb', line 9

def execute
  parse
  initialize_project if @options[:init] == true
end

#initialize_projectObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/remi/cli.rb', line 37

def initialize_project
  template_dir = File.expand_path(File.join(File.dirname(__FILE__),'../../'))

  FileUtils.mkdir_p "features"
  FileUtils.cp(File.join(template_dir, 'features/sample_job.feature'), 'features')

  FileUtils.mkdir_p "features/support"
  FileUtils.cp(File.join(template_dir, 'features/support/env.rb'), 'features/support')
  FileUtils.cp(File.join(template_dir, 'features/support/env_app.rb'), 'features/support') unless File.exist?('features/support/env_app.rb')

  FileUtils.mkdir_p "features/step_definitions"
  FileUtils.cp(File.join(template_dir, 'features/step_definitions/remi_step.rb'), 'features/step_definitions')

  FileUtils.mkdir_p "jobs"
  FileUtils.cp(File.join(template_dir, 'jobs/all_jobs_shared.rb'), 'jobs') unless File.exist?('jobs/all_jobs_shared.rb')
  FileUtils.cp(File.join(template_dir, 'jobs/sample_job.rb'), 'jobs')
end

#parse(args = ARGV) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/remi/cli.rb', line 14

def parse(args = ARGV)
  options = {}

  opt_parser = OptionParser.new do |opts|
    opts.banner = <<-EOT.strip_heredoc
      Usage: Command line helpers for Remi.
    EOT

    opts.on('-h', '--help', 'Show this message') do
      puts opts
      exit
    end

    options[:init] = false
    opts.on('-i', '--init', 'Initialze a new Remi project') do
      options[:init] = true
    end
  end
  opt_parser.parse!(args)

  @options = options
end