class Exercise::Command

Public Class Methods

exit_on_failure?() click to toggle source
# File lib/commands/exercise/command.rb, line 146
def self.exit_on_failure?
  true
end

Public Instance Methods

create(name) click to toggle source
# File lib/commands/exercise/command.rb, line 195
def create(name)
  say "Creating new exercise: #{name}"
  FileUtils.mkdir_p(name)

  exercise_structure['directories'].each do |directory|
    FileUtils.mkdir_p("#{name}/#{directory}")
  end

  FileUtils.cp_r("#{scaffold_path}/.", name)

  all_files_in(name).each { |path| say "Created: #{path}" }

  say ok 'Complete'
end
generate(path = '.') click to toggle source
# File lib/commands/exercise/command.rb, line 180
def generate(path = '.')
  register_environment(options[:environment_variables])

  templates = File.directory?(path) ? templates(path) : [path]

  original_dir = Dir.pwd
  failures = all_updated(templates, original_dir).find_all do |template|
    process_template(original_dir, template)
  end

  raise CourseContentRenderingError, failures.collect(&:path) unless failures.empty?
end
requiring_update(path = '.') click to toggle source
# File lib/commands/exercise/command.rb, line 157
def requiring_update(path = '.')
  directories = if File.directory?(path)
                  templates(path)
                else
                  [template]
                end

  results = directories.find_all do |temp|
    template_updated?(temp, Dir.pwd)
  end.flatten

  say results.to_json
end