Module: JIJI::Agent

Included in:
PeriodicallyAgent
Defined in:
lib/jiji/agent/agent.rb

Overview

エージェントを示すマーカーモジュール

JIJIではこのモジュールをincludeしたクラスがエージェントとして認識されます。

Defined Under Namespace

Modules: Shared Classes: Property

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#loggerObject

エラーロガー



82
83
84
# File 'lib/jiji/agent/agent.rb', line 82

def logger
  @logger
end

#operatorObject

オペレータ



80
81
82
# File 'lib/jiji/agent/agent.rb', line 80

def operator
  @operator
end

#outputObject

データの出力先



84
85
86
# File 'lib/jiji/agent/agent.rb', line 84

def output
  @output
end

Instance Method Details

#descriptionObject

エージェントの説明を返します。

必要に応じてオーバーライドしてください。



75
76
77
# File 'lib/jiji/agent/agent.rb', line 75

def description
  ""
end

#initObject

エージェントの登録後に1度だけ呼び出される関数。

必要に応じてオーバーライドしてください。コンストラクタと違いこのメソッドではoperatorやoutput,loggerが使用可能です。



47
48
# File 'lib/jiji/agent/agent.rb', line 47

def init( )
end

#next_rates(rates) ⇒ Object

レート情報が通知されるメソッドです。

エージェントが動作している間順次呼び出されます。 このメソッドをオーバーライドして、シグナルの計算や取り引きを行うロジックを実装してください

rates

JIJI::Rates



53
54
# File 'lib/jiji/agent/agent.rb', line 53

def next_rates( rates )
end

#propertiesObject

設定されたプロパティを取得します。



62
63
64
# File 'lib/jiji/agent/agent.rb', line 62

def properties
  @properties
end

#properties=(properties) ⇒ Object

プロパティを設定します。



66
67
68
69
70
71
# File 'lib/jiji/agent/agent.rb', line 66

def properties=( properties )
  @properties = properties
  properties.each_pair {|k,v|
    instance_variable_set("@#{k}", v)
  }
end

#property_infosObject

設定可能なプロパティの一覧を返します。

必要に応じてオーバーライドしてください。

戻り値

JIJI::Agent::Propertyの配列



58
59
60
# File 'lib/jiji/agent/agent.rb', line 58

def property_infos
  []
end