class Legion::Cli::LexBuilder

Public Class Methods

exit_on_failure?() click to toggle source
# File lib/legion/lex.rb, line 21
def self.exit_on_failure?
  true
end
source_root() click to toggle source
# File lib/legion/lex.rb, line 25
def self.source_root
  File.dirname(__FILE__)
end

Public Instance Methods

create(name) click to toggle source
# File lib/legion/lex.rb, line 55
def create(name)
  if Dir.pwd.include?('lex-')
    say('already inside a lex_gen, try moving to a different directory', :red)
    return nil
  end

  vars = { filename: "lex-#{name}", class_name: name.capitalize, lex: name }
  filename = vars[:filename]
  template('cli/lex/templates/base/gemspec.erb', "#{filename}/#{filename}.gemspec", vars)
  template('cli/lex/templates/base/gemfile.erb', "#{filename}/Gemfile", vars)
  template('cli/lex/templates/base/gitignore.erb', "#{filename}/.gitignore", vars)
  template('cli/lex/templates/base/lic.erb', "#{filename}/LICENSE.txt", vars)
  template('cli/lex/templates/base/rakefile.erb', "#{filename}/Rakefile", vars)
  template('cli/lex/templates/base/rubocop.yml.erb', "#{filename}/.rubocop.yml", vars)
  template('cli/lex/templates/base/readme.md.erb', "#{filename}/README.md", **vars)
  template('cli/lex/templates/base/lex.erb', "#{filename}/lib/legion/extensions/#{name}.rb", vars)
  template('cli/lex/templates/base/version.erb', "#{filename}/lib/legion/extensions/#{name}/version.rb", vars)
  template('cli/lex/templates/base/bitbucket.yml.erb', "#{filename}/bitbucket-pipelines.yml", vars) if options[:pipeline]
  template('cli/lex/templates/base/spec_helper.rb.erb', "#{filename}/spec/spec_helper.rb", vars)
  template('cli/lex/templates/base/lex_spec.erb', "#{filename}/spec/legion/#{name}_spec.rb", vars)

  return if !options[:git_init] && !options[:bundle_install]

  run("cd lex_gen-#{filename}")
  if options[:git_init]
    run('git init')
    run('git add .')
    run('git commit -m \'Initial commit\'')
  end

  run('bundle update') if options[:bundle_install]
end
lex() click to toggle source
# File lib/legion/lex.rb, line 16
def lex
  Dir.pwd.split('/').last.split('-').last
end
version() click to toggle source
# File lib/legion/lex.rb, line 46
def version
  say "Legion::CLI #{Legion::Cli::VERSION}"
end