need_for_type 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/need_for_type/api.rb +2 -1
- data/lib/need_for_type/display_window.rb +8 -8
- data/lib/need_for_type/states/end.rb +4 -6
- data/lib/need_for_type/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24b2d6c99492c8022956065c614a604516193a7e
|
4
|
+
data.tar.gz: b350ebf3ca27e2137dcdade59c16c6305c6ac2e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f0ebd3f0d87ba1ba5c3bc41adb087262db92a9457f669e979b27e223d2038a4331f9d60b1f80a28ccaa1e43f2dfe322b0ba3f3e1e73cbf182831ac6bf3fea60
|
7
|
+
data.tar.gz: adb083ff6a5f551fff7b66169265bdaed0b5bd6bbc6a5260b258970b45a125ef3c3497348d80cbf595440408b748e5eb9637f19ee554d7628da2d12f81364bc4
|
data/lib/need_for_type/api.rb
CHANGED
@@ -9,7 +9,7 @@ module NeedForType::API
|
|
9
9
|
|
10
10
|
begin
|
11
11
|
response = HTTParty.get(url)
|
12
|
-
JSON.parse(response.body)
|
12
|
+
{ scores: JSON.parse(response.body) }
|
13
13
|
rescue HTTParty::Error, StandardError
|
14
14
|
{ error: "Ups! Something went wrong." }
|
15
15
|
end
|
@@ -26,6 +26,7 @@ module NeedForType::API
|
|
26
26
|
begin
|
27
27
|
HTTParty.post(url, headers: headers, body: body.to_json)
|
28
28
|
rescue HTTParty::Error, StandardError
|
29
|
+
# Nothing is done
|
29
30
|
end
|
30
31
|
end
|
31
32
|
end
|
@@ -51,7 +51,7 @@ module NeedForType
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
def render_end(stats,
|
54
|
+
def render_end(stats, scores_request, selected_option)
|
55
55
|
self.render_box do
|
56
56
|
self.render_with_color(GREEN) do
|
57
57
|
self.set_render_pos(3, 4)
|
@@ -64,7 +64,7 @@ module NeedForType
|
|
64
64
|
|
65
65
|
self.set_render_pos(10, 4)
|
66
66
|
self.render_text("Top scores:", GREEN, NORMAL)
|
67
|
-
render_scores(
|
67
|
+
render_scores(scores_request, 11, 4)
|
68
68
|
|
69
69
|
self.set_render_pos(17, 4)
|
70
70
|
mode = standout_mode(0, selected_option)
|
@@ -131,18 +131,18 @@ module NeedForType
|
|
131
131
|
end
|
132
132
|
end
|
133
133
|
|
134
|
-
def render_scores(
|
135
|
-
if
|
134
|
+
def render_scores(scores_request, y, x)
|
135
|
+
if scores_request.nil?
|
136
136
|
self.set_render_pos(y, x)
|
137
137
|
self.addstr("Fetching scores...")
|
138
|
-
elsif scores
|
138
|
+
elsif scores_request[:scores]&.empty?
|
139
139
|
self.set_render_pos(y, x)
|
140
|
-
self.addstr("There are no
|
141
|
-
elsif
|
140
|
+
self.addstr("There are no scores yet for this text.")
|
141
|
+
elsif scores_request[:error]
|
142
142
|
self.set_render_pos(y + 1, x)
|
143
143
|
self.addstr(scores[:error])
|
144
144
|
else
|
145
|
-
scores.each do |s|
|
145
|
+
scores_request[:scores].each do |s|
|
146
146
|
self.set_render_pos(y, x)
|
147
147
|
self.addstr("#{s['wpm']} wpm #{s['username']}")
|
148
148
|
y += 1
|
@@ -5,8 +5,6 @@ module NeedForType::States
|
|
5
5
|
class End < Menu
|
6
6
|
include NeedForType::API
|
7
7
|
|
8
|
-
attr_accessor :scores
|
9
|
-
|
10
8
|
def initialize(display_window, stats, difficulty, text_id)
|
11
9
|
super(display_window)
|
12
10
|
@stats = stats
|
@@ -14,12 +12,12 @@ module NeedForType::States
|
|
14
12
|
@text_id = text_id
|
15
13
|
|
16
14
|
@option = 0
|
17
|
-
@
|
15
|
+
@scores_request = nil
|
18
16
|
fetch_and_render_scores_async
|
19
17
|
end
|
20
18
|
|
21
19
|
def update
|
22
|
-
@display_window.render_end(@stats, @
|
20
|
+
@display_window.render_end(@stats, @scores_request, @option)
|
23
21
|
|
24
22
|
@fetch_and_render_scores_thread.join
|
25
23
|
|
@@ -39,8 +37,8 @@ module NeedForType::States
|
|
39
37
|
|
40
38
|
def fetch_and_render_scores_async
|
41
39
|
@fetch_and_render_scores_thread = Thread.new do
|
42
|
-
@
|
43
|
-
@display_window.render_end(@stats, @
|
40
|
+
@scores_request = get_scores(@text_id)
|
41
|
+
@display_window.render_end(@stats, @scores_request, @option)
|
44
42
|
end
|
45
43
|
end
|
46
44
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: need_for_type
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tiagonbotelho
|
@@ -834,7 +834,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
834
834
|
version: '0'
|
835
835
|
requirements: []
|
836
836
|
rubyforge_project:
|
837
|
-
rubygems_version: 2.6.
|
837
|
+
rubygems_version: 2.6.6
|
838
838
|
signing_key:
|
839
839
|
specification_version: 4
|
840
840
|
summary: A terminal typeracer
|