Class: JIJI::PeriodicallyAgent
- Inherits:
-
Object
- Object
- JIJI::PeriodicallyAgent
- Includes:
- Agent
- Defined in:
- lib/jiji/agent/agent.rb
Overview
一定期間ごとに通知を受け取るエージェントの基底クラス。
Instance Attribute Summary
Attributes included from Agent
Instance Method Summary collapse
-
#initialize(period = 10) ⇒ PeriodicallyAgent
constructor
コンストラクタ period:: レートの通知を受け取る間隔(分)の初期値.
-
#next_period_rates(rates) ⇒ Object
レート情報が通知されるメソッドです。 エージェントが動作している間順次呼び出されます。 このメソッドをオーバーライドして、シグナルの計算や取り引きを行うロジックを実装してください rates:: JIJI::PeriodicallyRates.
- #next_rates(rates) ⇒ Object
- #property_infos ⇒ Object
Methods included from Agent
#description, #init, #properties, #properties=
Constructor Details
#initialize(period = 10) ⇒ PeriodicallyAgent
コンストラクタ
- period
-
レートの通知を受け取る間隔(分)の初期値
121 122 123 124 125 |
# File 'lib/jiji/agent/agent.rb', line 121 def initialize( period=10 ) @period = period @start = nil @rates = nil end |
Instance Method Details
#next_period_rates(rates) ⇒ Object
レート情報が通知されるメソッドです。
エージェントが動作している間順次呼び出されます。 このメソッドをオーバーライドして、シグナルの計算や取り引きを行うロジックを実装してください
- rates
-
JIJI::PeriodicallyRates
145 146 |
# File 'lib/jiji/agent/agent.rb', line 145 def next_period_rates( rates ) end |
#next_rates(rates) ⇒ Object
126 127 128 129 130 131 132 133 134 135 136 137 |
# File 'lib/jiji/agent/agent.rb', line 126 def next_rates( rates ) @rates = PeriodicallyRates.new( rates.pair_infos ) unless @rates now = rates.time @start = now unless @start @rates << rates if ( now - @start ) > @period*60 next_period_rates( @rates ) @rates = PeriodicallyRates.new( rates.pair_infos ) @rates.start_time = now @start = now end end |