Module: RunPerSecModule
- Defined in:
- lib/lib/runpersec.rb
Overview
指定秒数ごとにrun関数をループする 各メソッドを必要に応じて再定義して使う。
使い方:
someinstance.extend RunPerSecModule
someinstance.run(ループのインターバルsec){
__block__for__yield__
}
OR
class ThisDo < MyObject
include RunPerSecModule
.....
Instance Method Summary collapse
-
#after_run_loop ⇒ Object
runメソッドが呼ばれるとループのあとで実行される.
-
#before_run_loop ⇒ Object
runメソッドが呼ばれるとループの前に一回だけ実行される.
-
#init_run_per_sec_module ⇒ Object
外からは使わない 無限ループフラグを立てる.
-
#loop_hook_post ⇒ Object
runのループの中でmain_loopのあとで実行される.
-
#loop_hook_pre ⇒ Object
runメソッドのloopの中で最初に実行される.
-
#main_loop ⇒ Object
runメソッドのloopの中で実行される.
-
#run(sec) ⇒ Object
main_loopをループする sec : ループ間隔 秒 before_run_loop,ループ,after_run_loopの順番で実行する。 ループの中身はloop_hook_pre,与えられたブロック,main_loop,loop_hook_postの順番で実行する.
-
#stop_run ⇒ Object
runのループを止める.
Instance Method Details
#after_run_loop ⇒ Object
runメソッドが呼ばれるとループのあとで実行される
65 66 |
# File 'lib/lib/runpersec.rb', line 65 def after_run_loop end |
#before_run_loop ⇒ Object
runメソッドが呼ばれるとループの前に一回だけ実行される
49 50 |
# File 'lib/lib/runpersec.rb', line 49 def before_run_loop end |
#init_run_per_sec_module ⇒ Object
外からは使わない 無限ループフラグを立てる
39 40 41 |
# File 'lib/lib/runpersec.rb', line 39 def init_run_per_sec_module @loop_flg = true end |
#loop_hook_post ⇒ Object
runのループの中でmain_loopのあとで実行される
61 62 |
# File 'lib/lib/runpersec.rb', line 61 def loop_hook_post end |
#loop_hook_pre ⇒ Object
runメソッドのloopの中で最初に実行される
53 54 |
# File 'lib/lib/runpersec.rb', line 53 def loop_hook_pre end |
#main_loop ⇒ Object
runメソッドのloopの中で実行される
57 58 |
# File 'lib/lib/runpersec.rb', line 57 def main_loop end |
#run(sec) ⇒ Object
main_loopをループする
sec : ループ間隔 秒
before_run_loop,ループ,after_run_loopの順番で実行する。 ループの中身はloop_hook_pre,与えられたブロック,main_loop,loop_hook_postの順番で実行する
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/lib/runpersec.rb', line 24 def run(sec) init_run_per_sec_module before_run_loop while @loop_flg loop_hook_pre yield main_loop loop_hook_post sleep sec end after_run_loop end |
#stop_run ⇒ Object
runのループを止める
44 45 46 |
# File 'lib/lib/runpersec.rb', line 44 def stop_run @loop_flg = false end |