Class: OsCtld::Commands::Container::List

Inherits:
Base
  • Object
show all
Includes:
OsCtl::Lib::Utils::Log, OsCtl::Lib::Utils::System, Utils::SwitchUser
Defined in:
lib/osctld/commands/container/list.rb

Instance Attribute Summary

Attributes inherited from Base

#client, #client_handler, #id, #opts

Instance Method Summary collapse

Methods included from Utils::SwitchUser

#ct_attach, #ct_control, #ct_exec, #ct_runscript, #ct_syscmd, #init_script, #unlink_file

Methods inherited from Base

#base_execute, #call_cmd, #call_cmd!, 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



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

def execute
  ret = []

  DB::Containers.get.each do |ct|
    next if opts[:ids] && !opts[:ids].include?(ct.id)
    next unless include?(ct)

    ret << ct.export
  end

  ok(ret)
end

#include?(ct) ⇒ Boolean (protected)

Returns:

  • (Boolean)


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

def include?(ct)
  return false if opts[:pool] && !opts[:pool].include?(ct.pool.name)
  return false if opts[:user] && !opts[:user].include?(ct.user.name)
  return false if opts[:group] && !opts[:group].include?(ct.group.name)
  return false if opts[:distribution] && !opts[:distribution].include?(ct.distribution)
  return false if opts[:version] && !opts[:version].include?(ct.version)
  return false if opts[:state] && !opts[:state].include?(ct.state.to_s)
  return false if opts.has_key?(:ephemeral) && !!ct.ephemeral != !!opts[:ephemeral]
  true
end