Class: Contest
- Inherits:
-
Object
- Object
- Contest
- Defined in:
- lib/atcoder_tools/contest.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #check_validity! ⇒ Object
- #create! ⇒ Object
-
#initialize(name) ⇒ Contest
constructor
A new instance of Contest.
- #language ⇒ Object
- #submission_url ⇒ Object
- #url ⇒ Object
Constructor Details
#initialize(name) ⇒ Contest
Returns a new instance of Contest.
11 12 13 |
# File 'lib/atcoder_tools/contest.rb', line 11 def initialize(name) @name = name end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
9 10 11 |
# File 'lib/atcoder_tools/contest.rb', line 9 def name @name end |
Class Method Details
.list ⇒ Object
46 47 48 |
# File 'lib/atcoder_tools/contest.rb', line 46 def self.list Dir.glob("./*").select{|dir| FileTest.directory?(dir)}.map{|dir| Contest.new dir[2..-1] } end |
Instance Method Details
#check_validity! ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/atcoder_tools/contest.rb', line 15 def check_validity! # 実在するかcheck begin URI.open(url) rescue OpenURI::HTTPError raise 'contest name が存在しません。' end end |
#create! ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/atcoder_tools/contest.rb', line 32 def create! FileUtils.mkdir_p @name tasks = ['a','b','c','d','e','f'].map{|task_name| Task.new(self, task_name)} tasks.map(&:create!) settings = Settings.new settings.current_contest = @name settings.contest_language = self, settings.language settings.save! end |
#language ⇒ Object
42 43 44 |
# File 'lib/atcoder_tools/contest.rb', line 42 def language Settings.new.contest_language(self) end |
#submission_url ⇒ Object
28 29 30 |
# File 'lib/atcoder_tools/contest.rb', line 28 def submission_url "https://atcoder.jp/contests/#{@name}/submissions/me" end |
#url ⇒ Object
24 25 26 |
# File 'lib/atcoder_tools/contest.rb', line 24 def url "https://atcoder.jp/contests/#{@name}" end |