Class: JIJI::OutputManager

Inherits:
Object
  • Object
show all
Defined in:
lib/jiji/output_manager.rb

Overview

Outputのマネージャ

Instance Method Summary collapse

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