Module: Cryptum::UI::Exit
- Defined in:
- lib/cryptum/ui/exit.rb
Overview
Gracefully Exit the UI and Attempt to Save event_history to Order Book Session File.
Class Method Summary collapse
-
.gracefully(opts = {}) ⇒ Object
- Supported Method Parameters
-
Cryptum::UI::Exit.gracefully( event_history: ‘optional - Pass in the event_history if available to save to order book’ ).
-
.help ⇒ Object
Display a List of Every UI Module.
Class Method Details
.gracefully(opts = {}) ⇒ Object
- Supported Method Parameters
-
Cryptum::UI::Exit.gracefully(
event_history: 'optional - Pass in the event_history if available to save to order book')
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/cryptum/ui/exit.rb', line 13 public_class_method def self.gracefully(opts = {}) event_history = opts[:event_history] Curses.close_screen msg = '' if event_history.respond_to?('order_book') msg = "session: #{event_history.order_book[:path].split('/').first}, " msg += "symbol: #{event_history.order_book[:symbol]}" end msg += ' => Session Gracefully Terminated.' Cryptum::Log.append(level: :info, msg: msg, which_self: self) exit 0 rescue Interrupt, StandardError => e # Produce a Stacktrace for anything else Cryptum::Log.append(level: :fatal, msg: e, which_self: self) exit 1 ensure if event_history order_book_file = event_history.order_book[:path] File.write( order_book_file, JSON.pretty_generate(event_history.order_book) ) end end |
.help ⇒ Object
Display a List of Every UI Module
42 43 44 |
# File 'lib/cryptum/ui/exit.rb', line 42 public_class_method def self.help puts constants.sort end |