module DbSucker::Patches::BetaWarning::DispatchOverrides
Public Instance Methods
_suck_variation(identifier, ctn, variation, var)
click to toggle source
Calls superclass method
# File lib/db_sucker/patches/beta-warning.rb, line 82 def _suck_variation identifier, ctn, variation, var touch_file = "#{core_cfg_path}/.beta-warning" return super if File.exist?(touch_file) begin _thr = Thread.current begin trap_signals @sklaventreiber = Application::SklavenTreiber.new(self, uniqid) @sklaventreiber.spooled do begin @sklaventreiber._init_window @sklaventreiber.window.force_kill = true @sklaventreiber.window.send(:extend, WindowExtensions) view_was = @sklaventreiber.window.change_view(:beta_warning) @sklaventreiber.window.keypad.prompt!("[press any key to return]", return_on_buffer: Proc.new{|b, c| %w[y t 1 n f 0 q 27].include?(c.to_s.downcase) }, capture_enter: false, has_cursor: false, capture_escape: false, cursor_visible: false ) do |response| if %w[y t 1].include?(response) FileUtils.mkdir_p(File.dirname(touch_file)) FileUtils.touch(touch_file) _thr.raise(AcceptedContinue) else $core_runtime_exiting = 1 end end loop do break if $core_runtime_exiting sleep 0.1 end ensure sandboxed { @sklaventreiber.window.try(:stop) } end end ensure release_signals end throw :dispatch_handled rescue AcceptedContinue super end end