Sha256: 8166520cd554df63d854f843f6560f9d7c8b5fe386c80f7c6a031f9913a7133d
Contents?: true
Size: 751 Bytes
Versions: 45
Compression:
Stored size: 751 Bytes
Contents
#!/usr/bin/env ruby require_relative '../lib/helper' require 'generator' def available_generators cases = File.join( __dir__, '../lib/*_cases.rb') Dir[cases].map {|filename| /([^\/]*)_cases\.rb$/.match(filename).captures} end def usage "Usage: #{$PROGRAM_NAME} exercise_generator\n\n" + "Available exercise generators:\n" + available_generators.sort.join(' ') end exercise = ARGV[0] unless exercise STDERR.puts "Exercise name required!\n" puts usage exit end cases = "#{exercise.tr('-','_')}_cases" begin require "#{cases}" rescue LoadError puts "A generator does not currently exist for #{exercise}!" exit(1) end klass = Object.const_get(cases.split('_').map(&:capitalize).join) Generator.new(exercise, klass).generate
Version data entries
45 entries across 45 versions & 1 rubygems