@@ -37,11 +37,11 @@ def prepare_statements
37
37
end
38
38
39
39
def select_random_world
40
- @world_select . call ( id : random_id ) [ 0 ]
40
+ select_world ( random_id )
41
41
end
42
42
43
43
def select_world ( id )
44
- @world_select . call ( id : id ) [ 0 ]
44
+ @world_select . call ( id : id ) . first
45
45
end
46
46
47
47
def validate_count ( count )
@@ -57,40 +57,30 @@ def validate_count(count)
57
57
58
58
def select_promises ( count )
59
59
count = validate_count ( count )
60
- promises = [ ]
61
- count . times do
60
+ ALL_IDS . sample ( count ) . map do |id |
62
61
@connection . synchronize do
63
- promises << @connection [ 'SELECT id, randomNumber FROM World WHERE id = ?' , random_id ] . async . first
62
+ @connection [ 'SELECT id, randomNumber FROM World WHERE id = ?' , id ] . async . first
64
63
end
65
64
end
66
- promises
67
65
end
68
66
69
67
def select_random_numbers ( count )
70
68
count = validate_count ( count )
71
- results = [ ]
72
- count . times do
73
- results << @world_random_select . call ( randomvalue : random_id , id : random_id ) [ 0 ]
69
+ ALL_IDS . sample ( count ) . map do |id |
70
+ @world_random_select . call ( randomvalue : random_id , id : id ) . first
74
71
end
75
- results
76
72
end
77
73
78
74
def select_worlds ( count )
79
75
count = validate_count ( count )
80
- results = [ ]
81
- count . times do
82
- results << @world_select . call ( id : random_id ) [ 0 ]
76
+ ALL_IDS . sample ( count ) . map do |id |
77
+ @world_select . call ( id : id ) . first
83
78
end
84
- results
85
79
end
86
80
87
81
def select_worlds_async ( count )
88
82
promises = select_promises ( count )
89
- results = [ ]
90
- promises . each do |p |
91
- results << p . to_hash
92
- end
93
- results
83
+ promises . map ( &:to_hash )
94
84
end
95
85
96
86
def update_worlds ( count , async = false )
@@ -111,6 +101,7 @@ def update_worlds(count, async = false)
111
101
@connection [ sql ] . update
112
102
results
113
103
end
104
+
114
105
def select_fortunes
115
106
@fortune_select . call
116
107
end
0 commit comments