cryptum 0.0.254 → 0.0.256
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/.rubocop_todo.yml +10 -15
- data/lib/cryptum/event/history.rb +17 -1
- data/lib/cryptum/ui/command.rb +0 -7
- data/lib/cryptum/ui/key_press_event.rb +6 -1
- data/lib/cryptum/ui/order_execution.rb +28 -5
- data/lib/cryptum/ui/order_plan.rb +28 -5
- data/lib/cryptum/ui/order_timer.rb +8 -12
- data/lib/cryptum/ui/terminal_window.rb +5 -5
- data/lib/cryptum/ui/ticker.rb +6 -15
- data/lib/cryptum/ui.rb +32 -17
- data/lib/cryptum/version.rb +1 -1
- data/lib/cryptum/web_sock/event_machine.rb +55 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2687c6be08b4b287a0f9ad8192708a0f862b526933614bcd440607fa667e6e06
|
4
|
+
data.tar.gz: 00c9a699c865e8f91cdecafcc896e19a1481100c01e492c3bf53e15a22df9ee2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd74b3c4bd968db4e24b1a3fae5802b86d356619909e0d32a45d9d246d38c81a1b91714b3691f3ff7a3d95e2d4fcd0b57bdb408bfb89030062e1c57379379b5c
|
7
|
+
data.tar.gz: c2ec14727da1cfccc54afacb7760feb0062d640da5d7cc7e24189dcbad5c03c0e9aeacc339a619e53a192e236f43d98ddee672abc26349a20a2a630a48ae4a4d
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2022-
|
3
|
+
# on 2022-12-01 19:02:17 UTC using RuboCop version 1.39.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
@@ -103,11 +103,6 @@ Layout/TrailingWhitespace:
|
|
103
103
|
- 'lib/cryptum/ui/order_plan.rb'
|
104
104
|
- 'lib/cryptum/ui/order_timer.rb'
|
105
105
|
|
106
|
-
# Offense count: 1
|
107
|
-
Lint/NonLocalExitFromIterator:
|
108
|
-
Exclude:
|
109
|
-
- 'lib/cryptum/web_sock/event_machine.rb'
|
110
|
-
|
111
106
|
# Offense count: 51
|
112
107
|
Lint/UselessAssignment:
|
113
108
|
Exclude:
|
@@ -125,16 +120,16 @@ Lint/UselessAssignment:
|
|
125
120
|
- 'lib/cryptum/ui/signal_engine.rb'
|
126
121
|
- 'lib/cryptum/ui/ticker.rb'
|
127
122
|
|
128
|
-
# Offense count:
|
123
|
+
# Offense count: 39
|
129
124
|
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes.
|
130
125
|
Metrics/AbcSize:
|
131
|
-
Max:
|
126
|
+
Max: 388
|
132
127
|
|
133
128
|
# Offense count: 7
|
134
129
|
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
|
135
130
|
# AllowedMethods: refine
|
136
131
|
Metrics/BlockLength:
|
137
|
-
Max:
|
132
|
+
Max: 135
|
138
133
|
|
139
134
|
# Offense count: 4
|
140
135
|
# Configuration parameters: CountBlocks.
|
@@ -144,22 +139,22 @@ Metrics/BlockNesting:
|
|
144
139
|
# Offense count: 16
|
145
140
|
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
|
146
141
|
Metrics/CyclomaticComplexity:
|
147
|
-
Max:
|
142
|
+
Max: 72
|
148
143
|
|
149
144
|
# Offense count: 56
|
150
145
|
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
|
151
146
|
Metrics/MethodLength:
|
152
|
-
Max:
|
147
|
+
Max: 362
|
153
148
|
|
154
149
|
# Offense count: 15
|
155
150
|
# Configuration parameters: CountComments, CountAsOne.
|
156
151
|
Metrics/ModuleLength:
|
157
152
|
Max: 538
|
158
153
|
|
159
|
-
# Offense count:
|
154
|
+
# Offense count: 17
|
160
155
|
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
|
161
156
|
Metrics/PerceivedComplexity:
|
162
|
-
Max:
|
157
|
+
Max: 75
|
163
158
|
|
164
159
|
# Offense count: 1
|
165
160
|
# Configuration parameters: AllowedConstants.
|
@@ -212,7 +207,7 @@ Style/RedundantReturn:
|
|
212
207
|
Exclude:
|
213
208
|
- 'lib/cryptum.rb'
|
214
209
|
|
215
|
-
# Offense count:
|
210
|
+
# Offense count: 4
|
216
211
|
# This cop supports safe autocorrection (--autocorrect).
|
217
212
|
Style/RedundantSelf:
|
218
213
|
Exclude:
|
@@ -249,7 +244,7 @@ Style/TrailingCommaInArrayLiteral:
|
|
249
244
|
Exclude:
|
250
245
|
- 'lib/cryptum/matrix.rb'
|
251
246
|
|
252
|
-
# Offense count:
|
247
|
+
# Offense count: 16
|
253
248
|
# This cop supports safe autocorrection (--autocorrect).
|
254
249
|
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns.
|
255
250
|
# URISchemes: http, https
|
@@ -24,7 +24,15 @@ module Cryptum
|
|
24
24
|
:time_between_orders,
|
25
25
|
:time_between_orders_max,
|
26
26
|
:time_between_orders_min,
|
27
|
-
:time_between_orders_reset
|
27
|
+
:time_between_orders_reset,
|
28
|
+
:order_plan_win_active,
|
29
|
+
:order_plan_index_offset,
|
30
|
+
:order_plan_max_rows_to_display,
|
31
|
+
:order_plan_row_to_select,
|
32
|
+
:order_execute_win_active,
|
33
|
+
:order_execute_index_offset,
|
34
|
+
:order_execute_max_rows_to_display,
|
35
|
+
:order_execute_row_to_select
|
28
36
|
|
29
37
|
def initialize(opts = {})
|
30
38
|
# option_choice = opts[:option_choice]
|
@@ -42,6 +50,14 @@ module Cryptum
|
|
42
50
|
self.reconnected = false
|
43
51
|
self.red_pill = false
|
44
52
|
self.reset_market_trend = false
|
53
|
+
self.order_plan_win_active = true
|
54
|
+
self.order_plan_index_offset = 0
|
55
|
+
self.order_plan_max_rows_to_display = 7
|
56
|
+
self.order_plan_row_to_select = self.order_plan_index_offset
|
57
|
+
self.order_execute_win_active = false
|
58
|
+
self.order_execute_index_offset = 0
|
59
|
+
self.order_execute_max_rows_to_display = 6
|
60
|
+
self.order_execute_row_to_select = self.order_execute_index_offset
|
45
61
|
|
46
62
|
# 10 minutes
|
47
63
|
self.time_between_orders = 600
|
data/lib/cryptum/ui/command.rb
CHANGED
@@ -97,13 +97,6 @@ module Cryptum
|
|
97
97
|
]
|
98
98
|
# ROW 1
|
99
99
|
out_line_no = 0
|
100
|
-
Cryptum::UI.line(
|
101
|
-
ui_win: command_win,
|
102
|
-
out_line_no: out_line_no
|
103
|
-
)
|
104
|
-
|
105
|
-
# ROW 2
|
106
|
-
out_line_no += 1
|
107
100
|
command_win.setpos(
|
108
101
|
out_line_no,
|
109
102
|
Cryptum::UI.col_center(str: command_str_r2_arr.join(''))
|
@@ -375,9 +375,14 @@ module Cryptum
|
|
375
375
|
|
376
376
|
# ROW 1
|
377
377
|
out_line_no = 0
|
378
|
+
line_color = :white
|
379
|
+
style = :bold
|
380
|
+
line_color = :red if event_history.order_execute_win_active
|
381
|
+
|
378
382
|
Cryptum::UI.line(
|
379
383
|
ui_win: order_execute_win,
|
380
|
-
out_line_no: out_line_no
|
384
|
+
out_line_no: out_line_no,
|
385
|
+
color: line_color
|
381
386
|
)
|
382
387
|
|
383
388
|
# ROW 2
|
@@ -387,7 +392,7 @@ module Cryptum
|
|
387
392
|
Cryptum::UI.colorize(
|
388
393
|
ui_win: order_execute_win,
|
389
394
|
color: :white,
|
390
|
-
style:
|
395
|
+
style: style,
|
391
396
|
string: 'Open Sell Orders | 24 Hr Stats:'
|
392
397
|
)
|
393
398
|
|
@@ -395,6 +400,7 @@ module Cryptum
|
|
395
400
|
Cryptum::UI.colorize(
|
396
401
|
ui_win: order_execute_win,
|
397
402
|
color: :white,
|
403
|
+
style: style,
|
398
404
|
string: "#{total_to_sell} | #{order_hist_meta_expired} Expired | #{order_hist_meta_sold} Sold | $#{gains_24h_out} Gained".rjust(
|
399
405
|
col_just3,
|
400
406
|
'.'
|
@@ -405,15 +411,26 @@ module Cryptum
|
|
405
411
|
out_line_no += 1
|
406
412
|
Cryptum::UI.line(
|
407
413
|
ui_win: order_execute_win,
|
408
|
-
out_line_no: out_line_no
|
414
|
+
out_line_no: out_line_no,
|
415
|
+
color: line_color
|
409
416
|
)
|
410
417
|
|
411
418
|
|
412
419
|
# ROWS 4-10
|
413
|
-
|
420
|
+
first_row = event_history.order_execute_index_offset
|
421
|
+
last_row = first_row + event_history.order_execute_max_rows_to_display
|
422
|
+
if last_row >= order_history_meta.length
|
423
|
+
last_row = order_history_meta.length - 1
|
424
|
+
first_row = last_row - event_history.order_execute_max_rows_to_display
|
425
|
+
event_history.order_execute_index_offset = first_row
|
426
|
+
end
|
427
|
+
|
428
|
+
order_history_meta.reverse[first_row..last_row].each do |meta|
|
414
429
|
out_line_no += 1
|
430
|
+
current_line = out_line_no - 3
|
431
|
+
|
415
432
|
style = :normal
|
416
|
-
style = :highlight if
|
433
|
+
style = :highlight if event_history.order_execute_row_to_select == current_line
|
417
434
|
risk_alloc_out = Cryptum.beautify_large_number(
|
418
435
|
value: meta[:risk_alloc]
|
419
436
|
)
|
@@ -464,6 +481,12 @@ module Cryptum
|
|
464
481
|
)
|
465
482
|
end
|
466
483
|
|
484
|
+
Cryptum::UI.line(
|
485
|
+
ui_win: order_execute_win,
|
486
|
+
out_line_no: out_line_no,
|
487
|
+
color: line_color
|
488
|
+
)
|
489
|
+
|
467
490
|
order_execute_win.refresh
|
468
491
|
|
469
492
|
# Reset Order Ready Boolean
|
@@ -199,9 +199,14 @@ module Cryptum
|
|
199
199
|
|
200
200
|
# ROW 1
|
201
201
|
out_line_no = 0
|
202
|
+
line_color = :white
|
203
|
+
style = :bold
|
204
|
+
line_color = :red if event_history.order_plan_win_active
|
205
|
+
|
202
206
|
Cryptum::UI.line(
|
203
207
|
ui_win: order_plan_win,
|
204
|
-
out_line_no: out_line_no
|
208
|
+
out_line_no: out_line_no,
|
209
|
+
color: line_color
|
205
210
|
)
|
206
211
|
|
207
212
|
# ROW 2
|
@@ -211,7 +216,7 @@ module Cryptum
|
|
211
216
|
Cryptum::UI.colorize(
|
212
217
|
ui_win: order_plan_win,
|
213
218
|
color: :white,
|
214
|
-
style:
|
219
|
+
style: style,
|
215
220
|
string: "Order Plan ##{order_plan_prefix} Summary:"
|
216
221
|
)
|
217
222
|
|
@@ -219,6 +224,7 @@ module Cryptum
|
|
219
224
|
Cryptum::UI.colorize(
|
220
225
|
ui_win: order_plan_win,
|
221
226
|
color: :white,
|
227
|
+
style: style,
|
222
228
|
string: "$#{order_plan_volume_out} w #{max_order_plan_slices} Slices | $#{order_plan_profit_sum_out} 2 Gain | #{order_plan_exec_percent}% Done".rjust(
|
223
229
|
col_just3,
|
224
230
|
'.'
|
@@ -229,7 +235,8 @@ module Cryptum
|
|
229
235
|
out_line_no += 1
|
230
236
|
Cryptum::UI.line(
|
231
237
|
ui_win: order_plan_win,
|
232
|
-
out_line_no: out_line_no
|
238
|
+
out_line_no: out_line_no,
|
239
|
+
color: line_color
|
233
240
|
)
|
234
241
|
|
235
242
|
# ROWS 4-10
|
@@ -310,10 +317,20 @@ module Cryptum
|
|
310
317
|
plan_color = :cyan if color == :red
|
311
318
|
plan_color = :green if color == :green
|
312
319
|
|
313
|
-
|
320
|
+
first_row = event_history.order_plan_index_offset
|
321
|
+
last_row = first_row + event_history.order_plan_max_rows_to_display
|
322
|
+
if last_row >= order_plan.length
|
323
|
+
last_row = order_plan.length - 1
|
324
|
+
first_row = last_row - event_history.order_plan_max_rows_to_display
|
325
|
+
event_history.order_plan_index_offset = first_row
|
326
|
+
end
|
327
|
+
|
328
|
+
order_plan[first_row..last_row].each do |order|
|
314
329
|
out_line_no += 1
|
330
|
+
current_line = out_line_no - 3
|
331
|
+
|
315
332
|
style = :normal
|
316
|
-
style = :highlight if
|
333
|
+
style = :highlight if event_history.order_plan_row_to_select == current_line
|
317
334
|
fiat_avail_out = Cryptum.beautify_large_number(
|
318
335
|
value: order[:fiat_available]
|
319
336
|
)
|
@@ -361,6 +378,12 @@ module Cryptum
|
|
361
378
|
end
|
362
379
|
end
|
363
380
|
|
381
|
+
Cryptum::UI.line(
|
382
|
+
ui_win: order_plan_win,
|
383
|
+
out_line_no: out_line_no,
|
384
|
+
color: line_color
|
385
|
+
)
|
386
|
+
|
364
387
|
order_plan_win.refresh
|
365
388
|
|
366
389
|
# event_history
|
@@ -30,18 +30,21 @@ module Cryptum
|
|
30
30
|
trend_timer_begin = Time.parse(last_trend_reset_time)
|
31
31
|
trend_timer_end = trend_timer_begin + time_between_trend_reset
|
32
32
|
trend_time_remaining = trend_timer_end - Time.now
|
33
|
-
trend_countdown =
|
33
|
+
trend_countdown = Cryptum.beautify_large_number(
|
34
|
+
value: format('%0.2f', trend_time_remaining)
|
35
|
+
)
|
34
36
|
|
35
37
|
# Market Trend Reset Timer
|
36
38
|
time_between_order_exec = event_history.time_between_orders
|
37
|
-
time_between_order_exec_out =
|
38
|
-
'%0.
|
39
|
-
time_between_order_exec
|
39
|
+
time_between_order_exec_out = Cryptum.beautify_large_number(
|
40
|
+
value: format('%0.2f', time_between_order_exec)
|
40
41
|
)
|
41
42
|
order_begin_time = Time.parse(last_order_exec_time)
|
42
43
|
order_end_time = order_begin_time + time_between_order_exec
|
43
44
|
order_exec_time_remaining = order_end_time - Time.now
|
44
|
-
order_countdown =
|
45
|
+
order_countdown = Cryptum.beautify_large_number(
|
46
|
+
value: format('%0.2f', order_exec_time_remaining)
|
47
|
+
)
|
45
48
|
|
46
49
|
color = :white
|
47
50
|
color = indicator_status.market_trend[:color] if indicator_status.market_trend
|
@@ -71,13 +74,6 @@ module Cryptum
|
|
71
74
|
|
72
75
|
# ROW 1
|
73
76
|
out_line_no = 0
|
74
|
-
Cryptum::UI.line(
|
75
|
-
ui_win: order_timer_win,
|
76
|
-
out_line_no: out_line_no
|
77
|
-
)
|
78
|
-
|
79
|
-
# ROW 2
|
80
|
-
out_line_no += 1
|
81
77
|
order_timer_win.setpos(out_line_no, Cryptum::UI.col_first)
|
82
78
|
order_timer_win.clrtoeol
|
83
79
|
Cryptum::UI.colorize(
|
@@ -42,16 +42,16 @@ module Cryptum
|
|
42
42
|
)
|
43
43
|
|
44
44
|
self.order_plan_section = Cryptum::UI.window(
|
45
|
-
height:
|
45
|
+
height: 12,
|
46
46
|
width: 0,
|
47
47
|
top: 13,
|
48
48
|
left: 0
|
49
49
|
)
|
50
50
|
|
51
51
|
self.order_timer_section = Cryptum::UI.window(
|
52
|
-
height:
|
52
|
+
height: 1,
|
53
53
|
width: 0,
|
54
|
-
top:
|
54
|
+
top: 24,
|
55
55
|
left: 0
|
56
56
|
)
|
57
57
|
|
@@ -70,14 +70,14 @@ module Cryptum
|
|
70
70
|
)
|
71
71
|
|
72
72
|
self.order_execute_section = Cryptum::UI.window(
|
73
|
-
height:
|
73
|
+
height: 11,
|
74
74
|
width: 0,
|
75
75
|
top: 29,
|
76
76
|
left: 0
|
77
77
|
)
|
78
78
|
|
79
79
|
self.command_section = Cryptum::UI.window(
|
80
|
-
height:
|
80
|
+
height: 3,
|
81
81
|
width: 0,
|
82
82
|
top: 39,
|
83
83
|
left: 0
|
data/lib/cryptum/ui/ticker.rb
CHANGED
@@ -161,21 +161,12 @@ module Cryptum
|
|
161
161
|
out_line_no += 1
|
162
162
|
ticker_win.setpos(out_line_no, Cryptum::UI.col_first)
|
163
163
|
ticker_win.clrtoeol
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
)
|
171
|
-
else
|
172
|
-
Cryptum::UI.colorize(
|
173
|
-
ui_win: ticker_win,
|
174
|
-
color: :yellow,
|
175
|
-
style: :bold,
|
176
|
-
string: symbol_out.ljust(col_just1)
|
177
|
-
)
|
178
|
-
end
|
164
|
+
Cryptum::UI.colorize(
|
165
|
+
ui_win: ticker_win,
|
166
|
+
color: :yellow,
|
167
|
+
style: :bold,
|
168
|
+
string: symbol_out.ljust(col_just1)
|
169
|
+
)
|
179
170
|
|
180
171
|
ticker_win.setpos(out_line_no, Cryptum::UI.col_second)
|
181
172
|
Cryptum::UI.colorize(
|
data/lib/cryptum/ui.rb
CHANGED
@@ -87,24 +87,19 @@ module Cryptum
|
|
87
87
|
public_class_method def self.line(opts = {})
|
88
88
|
ui_win = opts[:ui_win]
|
89
89
|
out_line_no = opts[:out_line_no].to_i
|
90
|
+
color = opts[:color]
|
91
|
+
color ||= :white
|
92
|
+
|
93
|
+
style = :normal
|
94
|
+
style = :bold unless color == :white
|
90
95
|
|
91
96
|
ui_win.setpos(out_line_no, 0)
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
blue: 192,
|
99
|
-
string: "\u2500" * Curses.cols
|
100
|
-
)
|
101
|
-
else
|
102
|
-
colorize(
|
103
|
-
ui_win: ui_win,
|
104
|
-
color: :white,
|
105
|
-
string: "\u2500" * Curses.cols
|
106
|
-
)
|
107
|
-
end
|
97
|
+
colorize(
|
98
|
+
ui_win: ui_win,
|
99
|
+
color: color,
|
100
|
+
style: style,
|
101
|
+
string: "\u2500" * Curses.cols
|
102
|
+
)
|
108
103
|
rescue Interrupt
|
109
104
|
# Exit Gracefully if CTRL+C is Pressed During Session
|
110
105
|
Cryptum.exit_gracefully(which_self: self)
|
@@ -274,7 +269,18 @@ module Cryptum
|
|
274
269
|
key_press_event = opts[:key_press_event]
|
275
270
|
ui_win = opts[:ui_win]
|
276
271
|
|
277
|
-
|
272
|
+
key_press = ui_win.get_char
|
273
|
+
|
274
|
+
# Useful for detecting and logging actual key presses to file
|
275
|
+
# unless key_press.nil?
|
276
|
+
# File.open('/tmp/detect_key_press_in_ui-cryptum.txt', 'a') do |f|
|
277
|
+
# f.puts key_press.class
|
278
|
+
# f.print key_press.inspect
|
279
|
+
# f.puts "\n\n\n"
|
280
|
+
# end
|
281
|
+
# end
|
282
|
+
|
283
|
+
case key_press
|
278
284
|
when 'C'
|
279
285
|
key_press_event.key_c = true
|
280
286
|
when 'G'
|
@@ -287,8 +293,17 @@ module Cryptum
|
|
287
293
|
key_press_event.key_w = true
|
288
294
|
when 'x'
|
289
295
|
key_press_event.key_x = true
|
296
|
+
when "\t"
|
297
|
+
key_press_event.key_tab = true
|
298
|
+
when "\e"
|
299
|
+
key_press_event.key_esc = true
|
290
300
|
end
|
291
301
|
|
302
|
+
# What a hack to detect up / down arrow key presses.
|
303
|
+
key_press_event.key_ansi = true if key_press_event.key_esc && key_press == '['
|
304
|
+
key_press_event.key_up_arrow = true if key_press_event.key_ansi && key_press == 'A'
|
305
|
+
key_press_event.key_down_arrow = true if key_press_event.key_ansi && key_press == 'B'
|
306
|
+
|
292
307
|
key_press_event
|
293
308
|
rescue Interrupt
|
294
309
|
# Exit Gracefully if CTRL+C is Pressed During Session
|
data/lib/cryptum/version.rb
CHANGED
@@ -127,6 +127,61 @@ module Cryptum
|
|
127
127
|
env: env
|
128
128
|
)
|
129
129
|
end
|
130
|
+
|
131
|
+
# Scroll Down Order Plan / Order Execution Window Panes
|
132
|
+
if terminal_win.key_press_event.key_down_arrow
|
133
|
+
terminal_win.key_press_event.key_ansi = false
|
134
|
+
terminal_win.key_press_event.key_esc = false
|
135
|
+
terminal_win.key_press_event.key_down_arrow = false
|
136
|
+
if event_history.order_plan_win_active
|
137
|
+
order_plan_max_row_index = event_history.order_plan_max_rows_to_display - 1
|
138
|
+
event_history.order_plan_row_to_select += 1
|
139
|
+
event_history.order_plan_index_offset += 1 if event_history.order_plan_row_to_select > order_plan_max_row_index
|
140
|
+
event_history.order_plan_row_to_select = order_plan_max_row_index if event_history.order_plan_row_to_select > order_plan_max_row_index
|
141
|
+
end
|
142
|
+
|
143
|
+
if event_history.order_execute_win_active
|
144
|
+
order_execute_max_row_index = event_history.order_execute_max_rows_to_display - 1
|
145
|
+
event_history.order_execute_row_to_select += 1
|
146
|
+
event_history.order_execute_index_offset += 1 if event_history.order_execute_row_to_select > order_execute_max_row_index
|
147
|
+
event_history.order_execute_row_to_select = order_execute_max_row_index if event_history.order_execute_row_to_select > order_execute_max_row_index
|
148
|
+
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
# TAB through Order Plan / Order Execution Window Panes
|
153
|
+
if terminal_win.key_press_event.key_tab
|
154
|
+
terminal_win.key_press_event.key_tab = false
|
155
|
+
|
156
|
+
if event_history.order_plan_win_active
|
157
|
+
event_history.order_plan_win_active = false
|
158
|
+
event_history.order_execute_win_active = true
|
159
|
+
else
|
160
|
+
event_history.order_plan_win_active = true
|
161
|
+
event_history.order_execute_win_active = false
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
# Scroll Up Order Plan / Order Execution Window Panes
|
166
|
+
if terminal_win.key_press_event.key_up_arrow
|
167
|
+
terminal_win.key_press_event.key_ansi = false
|
168
|
+
terminal_win.key_press_event.key_esc = false
|
169
|
+
terminal_win.key_press_event.key_up_arrow = false
|
170
|
+
|
171
|
+
if event_history.order_plan_win_active
|
172
|
+
event_history.order_plan_row_to_select -= 1
|
173
|
+
event_history.order_plan_index_offset -= 1 if event_history.order_plan_row_to_select.negative?
|
174
|
+
event_history.order_plan_index_offset = 0 if event_history.order_plan_index_offset.negative?
|
175
|
+
event_history.order_plan_row_to_select = 0 if event_history.order_plan_row_to_select.negative?
|
176
|
+
end
|
177
|
+
|
178
|
+
if event_history.order_execute_win_active
|
179
|
+
event_history.order_execute_row_to_select -= 1
|
180
|
+
event_history.order_execute_index_offset -= 1 if event_history.order_execute_row_to_select.negative?
|
181
|
+
event_history.order_execute_index_offset = 0 if event_history.order_execute_index_offset.negative?
|
182
|
+
event_history.order_execute_row_to_select = 0 if event_history.order_execute_row_to_select.negative?
|
183
|
+
end
|
184
|
+
end
|
130
185
|
end
|
131
186
|
|
132
187
|
ws.on :close do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cryptum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.256
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|