class Lemon::CLI::Generate

Generate Command

Public Instance Methods

command_parse(argv) click to toggle source
# File lib/lemon/cli/generate.rb, line 47
def command_parse(argv)
  option_parser.banner = "Usage: lemons generate [options] [files ...]"

  setup_options

  option_parser.parse!(argv)
end
command_run(files) click to toggle source

Generate test templates.

# File lib/lemon/cli/generate.rb, line 12
def command_run(files)
  if i = files.index('-')
    options[:files] = files[0...i]
    options[:tests] = files[i+1..-1]
  else
    options[:files] = files
    options[:tests] = []
  end

  require 'lemon/coverage/generator'

  loadpath = options[:loadpath] || []
  requires = options[:requires] || []

  loadpath.each{ |path| $LOAD_PATH.unshift(path) }
  requires.each{ |path| require(path) }

  generator = Lemon::Generator.new(options)

  render_map = generator.generate

  generate_output(render_map)
end
generate_output(render_map) click to toggle source
# File lib/lemon/cli/generate.rb, line 37
def generate_output(render_map)
  render_map.each do |group, test|
    puts "# --- #{group} ---"
    puts
    puts test
    puts
  end
end
option_caps() click to toggle source

-C –caps

# File lib/lemon/cli/generate.rb, line 76
def option_caps
  option_parser.on('-C', '--caps', 'use capitalized test terms') do
    options[:caps] = true
  end
end
option_group() click to toggle source

-f –file

# File lib/lemon/cli/generate.rb, line 66
def option_group
  option_parser.on('-f', '--file', 'group tests by file') do
    options[:group] = :file
  end
  #option_parser.on('-c', '--case', 'group tests by case') do
  #  options[:group] = :case
  #end
end
setup_options() click to toggle source
# File lib/lemon/cli/generate.rb, line 56
def setup_options
  option_group
  option_namespaces
  option_private
  option_caps
  option_loadpath
  option_requires
end