Sha256: 776048de22c143accdbecee6294c47e912c43ff632b57ed107361b4e2b0395ba
Contents?: true
Size: 1.28 KB
Versions: 10
Compression:
Stored size: 1.28 KB
Contents
# frozen_string_literal: true module Cryptum # Cryptum::UI Module used for Presenting the # Cryptum Curses Interface module UI # Gracefully Exit the UI and Attempt to Save event_history to Order Book Session File. module Exit # Supported Method Parameters:: # Cryptum::UI::Exit.gracefully( # event_history: 'optional - Pass in the event_history if available to save to order book' # ) public_class_method def self.gracefully(opts = {}) event_history = opts[:event_history] Curses.close_screen msg = 'Session Gracefully Terminated.' Cryptum::Log.append(level: :info, msg: msg, which_self: self, event_history: event_history) exit 0 rescue Interrupt, StandardError => e # Produce a Stacktrace for anything else Cryptum::Log.append(level: :fatal, msg: e, which_self: self, event_history: event_history) 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 # Display a List of Every UI Module public_class_method def self.help puts constants.sort end end end end
Version data entries
10 entries across 10 versions & 1 rubygems