Module: PryMoves::Restartable
- Included in:
- PryMoves
- Defined in:
- lib/pry-moves/restartable.rb
Instance Attribute Summary collapse
-
#reload_rake_tasks ⇒ Object
Returns the value of attribute reload_rake_tasks.
-
#reload_requested ⇒ Object
Returns the value of attribute reload_requested.
-
#reload_ruby_scripts ⇒ Object
Returns the value of attribute reload_ruby_scripts.
-
#reloader ⇒ Object
Returns the value of attribute reloader.
-
#restart_requested ⇒ Object
Returns the value of attribute restart_requested.
Instance Method Summary collapse
Instance Attribute Details
#reload_rake_tasks ⇒ Object
Returns the value of attribute reload_rake_tasks.
3 4 5 |
# File 'lib/pry-moves/restartable.rb', line 3 def reload_rake_tasks @reload_rake_tasks end |
#reload_requested ⇒ Object
Returns the value of attribute reload_requested.
3 4 5 |
# File 'lib/pry-moves/restartable.rb', line 3 def reload_requested @reload_requested end |
#reload_ruby_scripts ⇒ Object
Returns the value of attribute reload_ruby_scripts.
3 4 5 |
# File 'lib/pry-moves/restartable.rb', line 3 def reload_ruby_scripts @reload_ruby_scripts end |
#reloader ⇒ Object
Returns the value of attribute reloader.
3 4 5 |
# File 'lib/pry-moves/restartable.rb', line 3 def reloader @reloader end |
#restart_requested ⇒ Object
Returns the value of attribute restart_requested.
3 4 5 |
# File 'lib/pry-moves/restartable.rb', line 3 def restart_requested @restart_requested end |
Instance Method Details
#re_execution ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/pry-moves/restartable.rb', line 24 def re_execution if restart_requested self.restart_requested = false raise PryMoves::Restart end raise PryMoves::Reload if reload_requested end |
#reload_sources ⇒ Object
32 33 34 |
# File 'lib/pry-moves/restartable.rb', line 32 def reload_sources PryMoves.reloader&.reload end |
#restartable(context) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/pry-moves/restartable.rb', line 7 def restartable context trigger :each_new_run, context context[:retry] ||= 0 PryMoves.reloader&.reload if context[:retry] > 0 yield context re_execution # todo: maybe mark restart_request for thread? not globally? rescue PryMoves::Restart puts "🔄️ Restarting execution" PryMoves.reset trigger :restart, context context[:retry] += 1 retry rescue PryMoves::Reload puts "🔮 try to use @ with reload" exit 3 end |