Class: Leetcoder::Question
Instance Attribute Summary
Attributes inherited from BaseObject
#args, #object
Instance Method Summary
collapse
Methods inherited from BaseObject
#initialize
Instance Method Details
#question_data ⇒ Object
9
10
11
|
# File 'lib/leetcoder/leetcoder/objects/question.rb', line 9
def question_data
serialized_data.map { |key, value| block_format(key, value) }.join("<br> \n")
end
|
#save_to_file! ⇒ Object
5
6
7
|
# File 'lib/leetcoder/leetcoder/objects/question.rb', line 5
def save_to_file!
File.write('README.md', question_data)
end
|
#serialized_data ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/leetcoder/leetcoder/objects/question.rb', line 13
def serialized_data
{
title: object.title,
url:,
topic_tags:,
difficulty: object.difficulty,
content: object.content,
stats:,
likes: object.likes
}
end
|
33
34
35
36
37
|
# File 'lib/leetcoder/leetcoder/objects/question.rb', line 33
def stats
JSON.parse(object.stats).slice(*%w[totalAccepted totalSubmission acRate]).map do |key, value|
"#{key.upcase}: #{value}"
end.join(', ')
end
|
29
30
31
|
# File 'lib/leetcoder/leetcoder/objects/question.rb', line 29
def topic_tags
object.topicTags.map { |tag| "##{tag[:slug]}" }.join(', ')
end
|
25
26
27
|
# File 'lib/leetcoder/leetcoder/objects/question.rb', line 25
def url
"#{Leetcoder::BASE_URL}/problems/#{object.titleSlug}"
end
|