Class: OsCtld::Commands::History::List

Inherits:
Base
  • Object
show all
Defined in:
lib/osctld/commands/history/list.rb

Instance Attribute Summary

Attributes inherited from Base

#client, #client_handler, #id, #opts

Instance Method Summary collapse

Methods inherited from Base

#base_execute, #call_cmd, #call_cmd!, #error, #error!, handle, #handled, #indirect?, #initialize, #manipulate, #manipulation_holder, #ok, #progress, #request_stop, run, run!

Constructor Details

This class inherits a constructor from OsCtld::Commands::Base

Instance Method Details

#executeObject



7
8
9
# File 'lib/osctld/commands/history/list.rb', line 7

def execute
  ok(merge(pools.map { |p| [p, History.read(p)] }))
end

#merge(readers) ⇒ Object (protected)



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/osctld/commands/history/list.rb', line 24

def merge(readers)
  ret = []

  readers.each do |pool, reader|
    reader.entries.each do |event|
      event[:pool] = pool.name
      ret << event
    end
  end

  ret.sort { |a, b| a[:time] <=> b[:time] }
end

#poolsObject (protected)



13
14
15
16
17
18
19
20
21
22
# File 'lib/osctld/commands/history/list.rb', line 13

def pools
  if opts[:pools]
    opts[:pools].map do |name|
      DB::Pools.find(name) || (raise CommandFailed, "pool #{name} not found")
    end

  else
    DB::Pools.get
  end
end