need_for_type 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|