Class: JIJI::OutputManager
- Inherits:
-
Object
- Object
- JIJI::OutputManager
- Defined in:
- lib/jiji/output_manager.rb
Overview
Outputのマネージャ
Instance Method Summary collapse
-
#create(process_id, agent_id) ⇒ Object
- 指定されたプロセスの指定エージェントのOutputを生成する すでに作成済みであればそれをそのまま返す。 process_id
- プロセスID agent_id
-
エージェントID.
-
#delete(process_id, agent_id) ⇒ Object
- 指定されたプロセスの指定エージェントのOutputを削除する process_id
- プロセスID agent_id
-
エージェントID.
-
#each(process_id) ⇒ Object
- 指定されたプロセスのOutputを列挙する process_id
-
プロセスID.
-
#get(process_id, agent_id) ⇒ Object
- 指定されたプロセスの指定エージェントのOutputを取得する process_id
- プロセスID agent_id
-
エージェントID.
-
#get_process_map(process_id) ⇒ Object
指定のプロセスに対応するoutputを取得する。.
-
#initialize(registry) ⇒ OutputManager
constructor
- コンストラクタ registry
-
レジストリ.
Constructor Details
#initialize(registry) ⇒ OutputManager
コンストラクタ
- registry
-
レジストリ
16 17 18 |
# File 'lib/jiji/output_manager.rb', line 16 def initialize( registry ) @registry = registry end |
Instance Method Details
#create(process_id, agent_id) ⇒ Object
指定されたプロセスの指定エージェントのOutputを生成する すでに作成済みであればそれをそのまま返す。
- process_id
-
プロセスID
- agent_id
-
エージェントID
33 34 35 36 37 38 39 |
# File 'lib/jiji/output_manager.rb', line 33 def create( process_id, agent_id ) map = get_process_map( process_id ) unless map.key?( agent_id ) map[agent_id] = @registry.output( process_id, agent_id ) end return map[agent_id] end |
#delete(process_id, agent_id) ⇒ Object
指定されたプロセスの指定エージェントのOutputを削除する
- process_id
-
プロセスID
- agent_id
-
エージェントID
55 56 57 58 59 60 61 62 |
# File 'lib/jiji/output_manager.rb', line 55 def delete( process_id, agent_id ) map = get_process_map( process_id ) unless map.key?( agent_id ) raise UserError.new( JIJI::ERROR_NOT_FOUND, "agent not found. id=#{agent_id}") end FileUtils.rm_rf "#{@registry.output_dir(process_id)}/#{agent_id}" map.delete(agent_id) end |
#each(process_id) ⇒ Object
指定されたプロセスのOutputを列挙する
- process_id
-
プロセスID
22 23 24 25 26 27 |
# File 'lib/jiji/output_manager.rb', line 22 def each( process_id ) map = get_process_map( process_id ) map.each_pair {|k,v| yield v } end |
#get(process_id, agent_id) ⇒ Object
指定されたプロセスの指定エージェントのOutputを取得する
- process_id
-
プロセスID
- agent_id
-
エージェントID
44 45 46 47 48 49 50 |
# File 'lib/jiji/output_manager.rb', line 44 def get( process_id, agent_id ) map = get_process_map( process_id ) unless map.key?( agent_id ) raise UserError.new( JIJI::ERROR_NOT_FOUND, "agent not found. id=#{agent_id}") end return map[agent_id] end |
#get_process_map(process_id) ⇒ Object
指定のプロセスに対応するoutputを取得する。
65 66 67 |
# File 'lib/jiji/output_manager.rb', line 65 def get_process_map( process_id ) load_output( process_id ) end |