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

Version Path
trackler-2.0.6.1 tracks/ruby/bin/generate
trackler-2.0.6.0 tracks/ruby/bin/generate
trackler-2.0.5.18 tracks/ruby/bin/generate
trackler-2.0.5.17 tracks/ruby/bin/generate
trackler-2.0.5.16 tracks/ruby/bin/generate
trackler-2.0.5.15 tracks/ruby/bin/generate
trackler-2.0.5.14 tracks/ruby/bin/generate
trackler-2.0.5.13 tracks/ruby/bin/generate
trackler-2.0.5.12 tracks/ruby/bin/generate
trackler-2.0.5.11 tracks/ruby/bin/generate
trackler-2.0.5.10 tracks/ruby/bin/generate
trackler-2.0.5.9 tracks/ruby/bin/generate
trackler-2.0.5.8 tracks/ruby/bin/generate
trackler-2.0.5.7 tracks/ruby/bin/generate
trackler-2.0.5.6 tracks/ruby/bin/generate
trackler-2.0.5.5 tracks/ruby/bin/generate
trackler-2.0.5.4 tracks/ruby/bin/generate
trackler-2.0.5.3 tracks/ruby/bin/generate
trackler-2.0.5.2 tracks/ruby/bin/generate
trackler-2.0.5.1 tracks/ruby/bin/generate