class OktaTerraformGenerator::CLI

Public Instance Methods

load_generator() click to toggle source
# File lib/okta-terraform-generator/cli.rb, line 33
def load_generator
  if ARGV.empty?
    print_usage
    print_generators
    exit 1
  end

  if ARGV.any? { |arg| arg.casecmp('--version').zero? }
    puts "okta-terraform-generator v#{OktaTerraformGenerator::VERSION}"
    exit 0
  end

  Object.const_get("OktaTerraformGenerator::CLI::#{generator_class}").new
end

Private Instance Methods

generator_class() click to toggle source
# File lib/okta-terraform-generator/cli.rb, line 50
def generator_class
  generator_name.capitalize.camelcase
end
generator_name() click to toggle source
# File lib/okta-terraform-generator/cli.rb, line 54
def generator_name
  validate_generator
end
print_generators() click to toggle source
valid_generators() click to toggle source
# File lib/okta-terraform-generator/cli.rb, line 66
def valid_generators
  Dir[File.dirname(__FILE__) + '/cli/*.rb'].map { |file| File.basename(file, '.rb') }.sort
end
validate_generator() click to toggle source
# File lib/okta-terraform-generator/cli.rb, line 70
def validate_generator
  generator = ARGV[0]
  return generator if valid_generators.include? generator

  puts 'Invalid generator passed as first argument!'
  print_usage
  print_generators
  exit 1
end