class Chake::Node

Attributes

data[R]
hostname[R]
path[R]
port[R]
remote_username[R]
username[R]

Public Class Methods

max_node_name_length() click to toggle source
# File lib/chake/node.rb, line 20
def self.max_node_name_length
  @max_node_name_length ||= 0
end
max_node_name_length=(value) click to toggle source
# File lib/chake/node.rb, line 23
def self.max_node_name_length=(value)
  @max_node_name_length = value
end
new(hostname, data = {}) click to toggle source
# File lib/chake/node.rb, line 27
def initialize(hostname, data = {})
  uri = URI.parse(hostname)
  if !uri.host && ((!uri.scheme && uri.path) || (uri.scheme && uri.opaque))
    uri = URI.parse("ssh://#{hostname}")
  end
  if uri.path && uri.path.empty?
    uri.path = nil
  end

  @backend_name = uri.scheme

  @hostname = uri.host
  @port = uri.port
  @username = uri.user || Etc.getpwuid.name
  @remote_username = uri.user
  @path = uri.path || "/var/tmp/chef.#{username}"
  @data = data

  if @hostname.length > self.class.max_node_name_length
    self.class.max_node_name_length = @hostname.length
  end
end

Public Instance Methods

backend() click to toggle source
# File lib/chake/node.rb, line 50
def backend
  @backend ||= Chake::Backend.get(@backend_name).new(self)
end