Module: Xlogin

Defined in:
lib/xlogin.rb,
lib/xlogin/cli.rb,
lib/xlogin/ssh.rb,
lib/xlogin/spec.rb,
lib/xlogin/telnet.rb,
lib/xlogin/factory.rb,
lib/xlogin/session.rb,
lib/xlogin/version.rb,
lib/xlogin/template.rb,
lib/xlogin/delegator.rb,
lib/xlogin/rake_task.rb,
lib/xlogin/session_pool.rb

Defined Under Namespace

Modules: SessionModule Classes: CLI, Expectation, ExpectationError, Factory, RakeTask, SessionError, SessionPool, Ssh, Telnet, Template, TemplateError

Constant Summary collapse

VERSION =
"0.12.8"

Class Method Summary collapse

Class Method Details

.assume_yes?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/xlogin.rb', line 48

def assume_yes?
  @assume_yes == true
end

.configure(&block) ⇒ Object



44
45
46
# File 'lib/xlogin.rb', line 44

def configure(&block)
  instance_eval(&block)
end

.factoryObject



14
15
16
# File 'lib/xlogin.rb', line 14

def factory
  @factory ||= Xlogin::Factory.instance
end

.find(*patterns) ⇒ Object



22
23
24
# File 'lib/xlogin.rb', line 22

def find(*patterns)
  list(*patterns).first
end

.generate_templates(dir) ⇒ Object



52
53
54
55
56
# File 'lib/xlogin.rb', line 52

def generate_templates(dir)
  FileUtils.mkdir_p(dir) unless Dir.exist?(dir)
  builtin_templates = Dir.glob(File.join(File.dirname(__FILE__), 'xlogin', 'templates', '*.rb'))
  builtin_templates.each { |file| FileUtils.cp(file, DEFAULT_TEMPLATE_DIR) }
end

.get(args, **opts, &block) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/xlogin.rb', line 26

def get(args, **opts, &block)
  session = case args
            when Hash   then factory.build(**args.merge(**opts))
            when String then factory.build_from_hostname(args, **opts)
            else return
            end

  return session unless block
  begin block.call(session) ensure session.close end
end

.get_pool(args, **opts, &block) ⇒ Object



37
38
39
40
41
42
# File 'lib/xlogin.rb', line 37

def get_pool(args, **opts, &block)
  pool = factory.build_pool(args, **opts)

  return pool unless block
  block.call(pool)
end

.list(*patterns) ⇒ Object



18
19
20
# File 'lib/xlogin.rb', line 18

def list(*patterns)
  factory.list_inventory(*patterns)
end