lib/atcoder_greedy/lib/contest.rb in atcoder_greedy-0.5.0 vs lib/atcoder_greedy/lib/contest.rb in atcoder_greedy-0.6.0

- old
+ new

@@ -3,11 +3,11 @@ require 'atcoder_greedy/lib/atcoder' require 'atcoder_greedy' require 'atcoder_greedy/lib/greedy_template' class Contest - attr_accessor :name, :url, :dir, :problems + attr_accessor :name, :url, :dir, :problems, :date def initialize(url, **options) if options[:language] != '' @language = options[:language] else @@ -34,10 +34,11 @@ def set_contest_info(option_problems) print 'Set contest info ... ' @name = URI.parse(@url).host.split('.').first html = @agent.get(@url + '/assignments').content.toutf8 doc = Nokogiri::HTML.parse(html, nil, 'utf8') + @date = Date.parse(doc.xpath('//time').first.text) all_problems = [] task_ids = [] doc.xpath('//tbody').each do |tbody| tbody.xpath('.//a[starts-with(@href,"/submit")]').each do |a| @@ -89,16 +90,16 @@ puts 'Done!' end def create_templates(option_template) print 'Create Templates ... ' - if option_template == '' - # use user default or system default template - if AtcoderGreedy.config[:default_template][:"#{@language}"] != '' - solve_template = open(AtcoderGreedy.config[:default_template][:"#{@language}"], &:read) - else + if option_template.to_s == '' + # use system default or user default template + if AtcoderGreedy.config[:default_template][:"#{@language}"].nil? || AtcoderGreedy.config[:default_template][:"#{@language}"].to_s == '' solve_template = open(File.dirname(__dir__) + '/templates' + "/#{@language}/solve.#{@language}", &:read) + else + solve_template = open(AtcoderGreedy.config[:default_template][:"#{@language}"], &:read) end else # use option_template template_path = GreedyTemplate.get_template_path(option_template) if template_path.nil? @@ -120,10 +121,10 @@ puts 'Done!' end def set_directories(directory) print 'Set contest directory ... ' - if directory == '' + if directory.to_s == '' FileUtils.mkdir(@name) @dir = "./#{@name}" else if Dir.exists?(directory) @dir = directory \ No newline at end of file