cryptum 0.0.266 → 0.0.267

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 794571773dea336ec731c3edcdaa200615b7cdc1a0a43934e51d069fff684200
4
- data.tar.gz: 6f29565fdd9b217519ce18153589d5cc9610ca1ba39ce21d6006d8e3b520188b
3
+ metadata.gz: e2062d12344f14e33eb69ae94a6590348e11ece15f71faf88fb29c9ae41917d0
4
+ data.tar.gz: 8928742f4e03be3180e453456f968d7e5899b73633c88f022622df8db13b7cd8
5
5
  SHA512:
6
- metadata.gz: 2539d7815a052a7fb044cf215d9b2ea504587fc48057ffbe1d19b47e5000dea99d651b8fce89b41257ff7d2a592a5dc4d75e856fa93a10c16bceeed0341570f7
7
- data.tar.gz: a38aec4f377e6d30bf23521546863821b3fa9164796ef03a235d95fa69c827d47db83dd168b876c74a301f73c19f95f6308dddfede19a8ac8fabd9e3240d2ce4
6
+ metadata.gz: 25f5c7e69a16c95f47c27ad94eee574b9efa84d3a8907a8421bb5b89fdcee2abae4120aa546a46f89ca80f4598ad04a7adbdb16ab800034876dc9429227c8822
7
+ data.tar.gz: c5c942d55ce5a293c7126c214417c057968048ae60ba489caae66720a6956dd7fd393d57f8d721f0995a77fad92f51dcd1b9647a6833804381256aa2e3be9d9f
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-12-02 23:03:00 UTC using RuboCop version 1.39.0.
3
+ # on 2022-12-03 04:05:10 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
@@ -102,26 +102,11 @@ Layout/TrailingWhitespace:
102
102
  - 'lib/cryptum/ui/order_plan.rb'
103
103
  - 'lib/cryptum/ui/order_timer.rb'
104
104
 
105
- # Offense count: 66
105
+ # Offense count: 75
106
106
  Lint/UselessAssignment:
107
- Exclude:
108
- - 'bin/cryptum-forecast'
109
- - 'lib/cryptum.rb'
110
- - 'lib/cryptum/api.rb'
111
- - 'lib/cryptum/event.rb'
112
- - 'lib/cryptum/event/buy.rb'
113
- - 'lib/cryptum/event/scroll.rb'
114
- - 'lib/cryptum/order_book/generate.rb'
115
- - 'lib/cryptum/order_book/market_trend.rb'
116
- - 'lib/cryptum/ui/market_trend.rb'
117
- - 'lib/cryptum/ui/order_execution.rb'
118
- - 'lib/cryptum/ui/order_plan.rb'
119
- - 'lib/cryptum/ui/order_timer.rb'
120
- - 'lib/cryptum/ui/portfolio.rb'
121
- - 'lib/cryptum/ui/signal_engine.rb'
122
- - 'lib/cryptum/ui/ticker.rb'
107
+ Enabled: false
123
108
 
124
- # Offense count: 41
109
+ # Offense count: 47
125
110
  # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes.
126
111
  Metrics/AbcSize:
127
112
  Max: 400
@@ -137,17 +122,17 @@ Metrics/BlockLength:
137
122
  Metrics/BlockNesting:
138
123
  Max: 4
139
124
 
140
- # Offense count: 18
125
+ # Offense count: 19
141
126
  # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
142
127
  Metrics/CyclomaticComplexity:
143
128
  Max: 73
144
129
 
145
- # Offense count: 60
130
+ # Offense count: 66
146
131
  # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
147
132
  Metrics/MethodLength:
148
133
  Max: 383
149
134
 
150
- # Offense count: 15
135
+ # Offense count: 16
151
136
  # Configuration parameters: CountComments, CountAsOne.
152
137
  Metrics/ModuleLength:
153
138
  Max: 538
@@ -246,7 +231,7 @@ Style/TrailingCommaInArrayLiteral:
246
231
  Exclude:
247
232
  - 'lib/cryptum/matrix.rb'
248
233
 
249
- # Offense count: 15
234
+ # Offense count: 18
250
235
  # This cop supports safe autocorrection (--autocorrect).
251
236
  # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns.
252
237
  # URISchemes: http, https
data/Gemfile CHANGED
@@ -21,7 +21,7 @@ gem 'pry', '0.14.1'
21
21
  gem 'pry-doc', '1.3.0'
22
22
  gem 'rake', '13.0.6'
23
23
  gem 'rbtrace', '0.4.14'
24
- gem 'rdoc', '6.4.0'
24
+ gem 'rdoc', '6.5.0'
25
25
  gem 'require_all', '3.0.0'
26
26
  gem 'rest-client', '2.1.0'
27
27
  gem 'rspec', '3.12.0'
@@ -25,10 +25,12 @@ module Cryptum
25
25
  :time_between_orders_min,
26
26
  :time_between_orders_reset,
27
27
  :order_plan_win_active,
28
+ :order_plan_details_win_active,
28
29
  :order_plan_index_offset,
29
30
  :order_plan_max_rows_to_display,
30
31
  :order_plan_row_to_select,
31
32
  :order_execute_win_active,
33
+ :order_execute_details_win_active,
32
34
  :order_execute_index_offset,
33
35
  :order_execute_max_rows_to_display,
34
36
  :order_execute_row_to_select
@@ -49,10 +51,12 @@ module Cryptum
49
51
  self.reconnected = false
50
52
  self.red_pill = false
51
53
  self.order_plan_win_active = true
54
+ self.order_plan_details_win_active = false
52
55
  self.order_plan_index_offset = 0
53
56
  self.order_plan_max_rows_to_display = 6
54
57
  self.order_plan_row_to_select = order_plan_index_offset
55
58
  self.order_execute_win_active = false
59
+ self.order_execute_details_win_active = false
56
60
  self.order_execute_index_offset = 0
57
61
  self.order_execute_max_rows_to_display = 6
58
62
  self.order_execute_row_to_select = order_execute_index_offset
@@ -25,10 +25,51 @@ module Cryptum
25
25
  raise e
26
26
  end
27
27
 
28
+ # Supported Method Parameters::
29
+ # Cryptum::Event::Pane.toggle_details(
30
+ # )
31
+ public_class_method def self.toggle_details(opts = {})
32
+ terminal_win = opts[:terminal_win]
33
+ event_history = opts[:event_history]
34
+
35
+ terminal_win.key_press_event.key_enter = false
36
+
37
+ if event_history.order_plan_win_active &&
38
+ !event_history.order_plan_details_win_active &&
39
+ !event_history.order_execute_win_active
40
+
41
+ event_history.order_plan_win_active = false
42
+ event_history.order_plan_details_win_active = true
43
+ elsif !event_history.order_plan_win_active &&
44
+ event_history.order_plan_details_win_active &&
45
+ !event_history.order_execute_win_active
46
+
47
+ event_history.order_plan_win_active = true
48
+ event_history.order_plan_details_win_active = false
49
+ end
50
+
51
+ if event_history.order_execute_win_active &&
52
+ !event_history.order_execute_details_win_active &&
53
+ !event_history.order_plan_win_active
54
+
55
+ event_history.order_execute_win_active = false
56
+ event_history.order_execute_details_win_active = true
57
+ elsif !event_history.order_execute_win_active &&
58
+ event_history.order_execute_details_win_active &&
59
+ !event_history.order_plan_win_active
60
+
61
+ event_history.order_execute_win_active = true
62
+ event_history.order_execute_details_win_active = false
63
+ end
64
+ rescue StandardError => e
65
+ raise e
66
+ end
67
+
28
68
  # Display Usage for this Module
29
69
  public_class_method def self.help
30
70
  puts "USAGE:
31
71
  #{self}.switch()
72
+ #{self}.toggle_details()
32
73
  "
33
74
  end
34
75
  end
@@ -56,7 +56,7 @@ module Cryptum
56
56
  options.on(
57
57
  '-tSECONDS',
58
58
  '--time-between-market-trend-reset=SECONDS',
59
- '<Optional - Seconds Between Market Trend Reset (Default 86_400 i.e. 1 day)>'
59
+ '<Optional - Seconds Between Market Trend Reset (Default 3_600 i.e. 1 hour)>'
60
60
  ) { |t| option_choice.market_trend_reset = t.to_i }
61
61
  end.parse!
62
62
 
@@ -89,8 +89,9 @@ module Cryptum
89
89
  reason = :repo_root
90
90
  end
91
91
 
92
- option_choice.market_trend_reset = 86_400 if option_choice.market_trend_reset.to_i.zero?
93
- unless option_choice.market_trend_reset.to_i.positive?
92
+ option_choice.market_trend_reset = 3_600 if option_choice.market_trend_reset.to_i.zero?
93
+ unless option_choice.market_trend_reset.to_i >= 60 &&
94
+ option_choice.market_trend_reset <= 86_400
94
95
  usage = true
95
96
  reason = :market_trend_reset
96
97
  end
@@ -113,7 +114,7 @@ module Cryptum
113
114
  when :repo_root
114
115
  puts "ERROR: #{option_choice.repo_root} does not exist.\n\n"
115
116
  when :market_trend_reset
116
- puts "ERROR: #{option_choice.market_trend_reset} Must be a positive floating point number.\n\n"
117
+ puts "ERROR: #{option_choice.market_trend_reset} Must be a positive integer between 60-86_400.\n\n"
117
118
  end
118
119
 
119
120
  puts `#{option_choice.driver_name} --help`
@@ -33,11 +33,13 @@ module Cryptum
33
33
 
34
34
  # order_difference = 0
35
35
  if buy_total > sell_total
36
- order_difference = Cryptum.beautify_large_number(
37
- value: buy_total - sell_total
38
- ).to_i
36
+ # Too expensive
37
+ # order_difference = Cryptum.beautify_large_number(
38
+ # value: buy_total - sell_total
39
+ # ).to_i
40
+ order_difference = buy_total - sell_total
39
41
  indicator_hash[:color] = :green
40
- indicator_hash[:ui] = "BUYS UP BY #{order_difference}"
42
+ indicator_hash[:ui] = "BUYS UP BY #{order_difference.to_i}"
41
43
  indicator_hash[:status] = "B#{Cryptum.up_arrow}"
42
44
  elsif buy_total < sell_total
43
45
  order_difference = Cryptum.beautify_large_number(
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'logger'
4
+
5
+ module Cryptum
6
+ module UI
7
+ # This plugin is used to Display Order Execute Details
8
+ # selected from the Order Execute Window Pane.
9
+ module OrderExecuteDetails
10
+ # Supported Method Parameters::
11
+ # Cryptum::UI::OrderExecuteDetails.refresh(
12
+ # )
13
+
14
+ public_class_method def self.refresh(opts = {})
15
+ option_choice = opts[:option_choice]
16
+ event_history = opts[:event_history]
17
+ order_execute_details_win = opts[:order_execute_details_win]
18
+ indicator_status = opts[:indicator_status]
19
+ key_press_event = opts[:key_press_event]
20
+
21
+ color = :white
22
+
23
+ # UI
24
+ col_just4 = (Curses.cols - Cryptum::UI.col_fourth) - 1
25
+
26
+ # ROW 1
27
+ # COLUMN 1
28
+ out_line_no = 0
29
+ order_execute_details_win.setpos(out_line_no, Cryptum::UI.col_first)
30
+ order_execute_details_win.clrtoeol
31
+ Cryptum::UI.colorize(
32
+ ui_win: order_execute_details_win,
33
+ color: :white,
34
+ style: :bold,
35
+ string: 'Order Details'
36
+ )
37
+
38
+ order_execute_details_win.refresh
39
+ rescue Interrupt
40
+ # Exit Gracefully if CTRL+C is Pressed During Session
41
+ Cryptum.exit_gracefully(which_self: self)
42
+ rescue StandardError => e
43
+ raise e
44
+ end
45
+
46
+ # Display Usage for this Module
47
+
48
+ public_class_method def self.help
49
+ puts "USAGE:
50
+ #{self}.refresh(
51
+ )
52
+ "
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'logger'
4
+
5
+ module Cryptum
6
+ module UI
7
+ # This plugin is used to Display Order Plan Details
8
+ # selected from the Order Plan Window Pane.
9
+ module OrderPlanDetails
10
+ # Supported Method Parameters::
11
+ # Cryptum::UI::OrderPlanDetails.refresh(
12
+ # )
13
+
14
+ public_class_method def self.refresh(opts = {})
15
+ option_choice = opts[:option_choice]
16
+ event_history = opts[:event_history]
17
+ order_plan_details_win = opts[:order_plan_details_win]
18
+ indicator_status = opts[:indicator_status]
19
+ key_press_event = opts[:key_press_event]
20
+
21
+ color = :white
22
+
23
+ # UI
24
+ col_just4 = (Curses.cols - Cryptum::UI.col_fourth) - 1
25
+
26
+ # ROW 1
27
+ # COLUMN 1
28
+ out_line_no = 0
29
+ order_plan_details_win.setpos(out_line_no, Cryptum::UI.col_first)
30
+ order_plan_details_win.clrtoeol
31
+ Cryptum::UI.colorize(
32
+ ui_win: order_plan_details_win,
33
+ color: :white,
34
+ style: :bold,
35
+ string: 'Order Details'
36
+ )
37
+
38
+ order_plan_details_win.refresh
39
+ rescue Interrupt
40
+ # Exit Gracefully if CTRL+C is Pressed During Session
41
+ Cryptum.exit_gracefully(which_self: self)
42
+ rescue StandardError => e
43
+ raise e
44
+ end
45
+
46
+ # Display Usage for this Module
47
+
48
+ public_class_method def self.help
49
+ puts "USAGE:
50
+ #{self}.refresh(
51
+ )
52
+ "
53
+ end
54
+ end
55
+ end
56
+ end
@@ -13,11 +13,13 @@ module Cryptum
13
13
  :ticker_section,
14
14
  :portfolio_section,
15
15
  :order_plan_section,
16
+ :order_plan_details_section,
16
17
  :order_timer_section,
17
18
  :market_trend_section,
18
19
  :market_trend_ui_resize,
19
20
  :signal_engine_section,
20
21
  :order_execute_section,
22
+ :order_execute_details_section,
21
23
  :command_section
22
24
 
23
25
  def initialize
@@ -48,6 +50,13 @@ module Cryptum
48
50
  left: 0
49
51
  )
50
52
 
53
+ self.order_plan_details_section = Cryptum::UI.window(
54
+ height: 11,
55
+ width: 0,
56
+ top: 13,
57
+ left: 0
58
+ )
59
+
51
60
  self.order_timer_section = Cryptum::UI.window(
52
61
  height: 1,
53
62
  width: 0,
@@ -76,6 +85,13 @@ module Cryptum
76
85
  left: 0
77
86
  )
78
87
 
88
+ self.order_execute_details_section = Cryptum::UI.window(
89
+ height: 11,
90
+ width: 0,
91
+ top: 29,
92
+ left: 0
93
+ )
94
+
79
95
  self.command_section = Cryptum::UI.window(
80
96
  height: 3,
81
97
  width: 0,
data/lib/cryptum/ui.rb CHANGED
@@ -12,10 +12,12 @@ module Cryptum
12
12
  autoload :Ticker, 'cryptum/ui/ticker'
13
13
  autoload :Portfolio, 'cryptum/ui/portfolio'
14
14
  autoload :OrderPlan, 'cryptum/ui/order_plan'
15
+ autoload :OrderPlanDetails, 'cryptum/ui/order_plan_details'
15
16
  autoload :OrderTimer, 'cryptum/ui/order_timer'
16
17
  autoload :MarketTrend, 'cryptum/ui/market_trend'
17
18
  autoload :SignalEngine, 'cryptum/ui/signal_engine'
18
19
  autoload :OrderExecution, 'cryptum/ui/order_execution'
20
+ autoload :OrderExecuteDetails, 'cryptum/ui/order_execute_details'
19
21
  autoload :Command, 'cryptum/ui/command'
20
22
 
21
23
  # Initialize the UI
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cryptum
4
- VERSION = '0.0.266'
4
+ VERSION = '0.0.267'
5
5
  end
@@ -185,10 +185,10 @@ module Cryptum
185
185
 
186
186
  # Open / Close Order Plan / Order Execution Details Window
187
187
  if terminal_win.key_press_event.key_enter
188
- terminal_win.key_press_event.key_ansi = false
189
- terminal_win.key_press_event.key_esc = false
190
- terminal_win.key_press_event.key_enter = false
191
- File.write('/tmp/key_enter.DETECTED', nil)
188
+ Cryptum::Event::Pane.toggle_details(
189
+ terminal_win: terminal_win,
190
+ event_history: event_history
191
+ )
192
192
  end
193
193
  end
194
194
 
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.266
4
+ version: 0.0.267
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-12-03 00:00:00.000000000 Z
11
+ date: 2022-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - '='
158
158
  - !ruby/object:Gem::Version
159
- version: 6.4.0
159
+ version: 6.5.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - '='
165
165
  - !ruby/object:Gem::Version
166
- version: 6.4.0
166
+ version: 6.5.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: require_all
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -402,6 +402,7 @@ files:
402
402
  - lib/cryptum/order_book/market_trend.rb
403
403
  - lib/cryptum/order_book/profit_margin.rb
404
404
  - lib/cryptum/order_book/weighted_avg.rb
405
+ - lib/cryptum/order_execute_details.rb
405
406
  - lib/cryptum/portfolio.rb
406
407
  - lib/cryptum/portfolio/balance.rb
407
408
  - lib/cryptum/ui.rb
@@ -410,6 +411,7 @@ files:
410
411
  - lib/cryptum/ui/market_trend.rb
411
412
  - lib/cryptum/ui/order_execution.rb
412
413
  - lib/cryptum/ui/order_plan.rb
414
+ - lib/cryptum/ui/order_plan_details.rb
413
415
  - lib/cryptum/ui/order_timer.rb
414
416
  - lib/cryptum/ui/portfolio.rb
415
417
  - lib/cryptum/ui/signal_engine.rb