Class: Leetcoder::Submission

Inherits:
BaseObject show all
Includes:
Helpers::Utils
Defined in:
lib/leetcoder/leetcoder/objects/submission.rb

Constant Summary

Constants included from Helpers::Utils

Helpers::Utils::LANGS_EXT

Instance Attribute Summary

Attributes inherited from BaseObject

#args, #object

Instance Method Summary collapse

Methods included from Helpers::Utils

#create_directory, #create_file, #lang_to_ext, #store_cookie

Methods inherited from BaseObject

#initialize

Constructor Details

This class inherits a constructor from Leetcoder::BaseObject

Instance Method Details

#codeObject



13
14
15
16
17
18
19
# File 'lib/leetcoder/leetcoder/objects/submission.rb', line 13

def code
  code = submission_data.scan(/(?<=submissionCode:).*'/).first.strip

  code.gsub!(/\\u(.{4})/) { |_match| [Regexp.last_match(1).to_i(16)].pack('U') }

  code.gsub!(/\A'|'\Z/, '')
end

#file_nameObject



21
22
23
24
25
# File 'lib/leetcoder/leetcoder/objects/submission.rb', line 21

def file_name
  name_prefix = "#{question_id}.solution#{serial}"
  # name_prefix += serial if serial
  "#{name_prefix}.#{lang_to_ext(lang)}"
end

#save_to_file!Object



9
10
11
# File 'lib/leetcoder/leetcoder/objects/submission.rb', line 9

def save_to_file!
  File.write(file_name, code)
end