Class: AtcoderGreedy::Command

Inherits:
Thor
  • Object
show all
Defined in:
lib/atcoder_greedy/command.rb,
lib/atcoder_greedy/command/test.rb,
lib/atcoder_greedy/command/config.rb,
lib/atcoder_greedy/command/create.rb,
lib/atcoder_greedy/command/destroy.rb

Instance Method Summary collapse

Instance Method Details

#configObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/atcoder_greedy/command/config.rb', line 8

def config
  languages = Languages::ALL_LANGUAGES
  config_path = Dir.home + '/.atcoder_greedy'
  if Dir.exists?(config_path)
    puts "Your current language is [#{AtcoderGreedy.config[:language]}]."
  else
    Dir.mkdir(config_path)
    File.new(config_path + '/settings.yml', 'w')
  end
  puts "Choose default language from: #{languages}"
  print "Input languages: "
  loop do
    s = $stdin.gets.chomp!
    if languages.include?(s)
      AtcoderGreedy.configure(language: s)
      break
    elsif s.size == 0
      break
    elsif puts "Invalid language. please try again:"
    end
  end

  AtcoderGreedy.save_config
  puts "Update Your default language to [#{AtcoderGreedy.config[:language]}]."
end

#create(contest_name) ⇒ Object



9
10
11
# File 'lib/atcoder_greedy/command/create.rb', line 9

def create(contest_name)
  Contest.new(contest_name.downcase)
end

#destroy(contest_name) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/atcoder_greedy/command/destroy.rb', line 8

def destroy(contest_name)
  puts "Destroy ./#{contest_name} [y/n]?"
  s = $stdin.gets
  if s == 'y' || s == 'yes'
    if system("rm -r ./#{contest_name}")
      puts 'deleted.'
    else
      raise 'Runtime Error'
    end
  end
end

#test(problem_name) ⇒ Object



9
10
11
# File 'lib/atcoder_greedy/command/test.rb', line 9

def test(problem_name)
  TestCase.new(problem_name).validate
end