Class: Boxcutter::LoadBalancer::Machine

Inherits:
Object
  • Object
show all
Defined in:
lib/boxcutter/load_balancer/machine.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(backend, api, attrs) ⇒ Machine

Returns a new instance of Machine.



5
6
7
8
9
# File 'lib/boxcutter/load_balancer/machine.rb', line 5

def initialize(backend, api, attrs)
  @backend = backend
  @api = api
  @attrs = attrs
end

Instance Attribute Details

#apiObject (readonly)

Returns the value of attribute api.



3
4
5
# File 'lib/boxcutter/load_balancer/machine.rb', line 3

def api
  @api
end

#backendObject (readonly)

Returns the value of attribute backend.



3
4
5
# File 'lib/boxcutter/load_balancer/machine.rb', line 3

def backend
  @backend
end

Instance Method Details

#add!Object



35
36
37
# File 'lib/boxcutter/load_balancer/machine.rb', line 35

def add!
  backend.add_machine(id)
end

#hostnameObject



27
28
29
# File 'lib/boxcutter/load_balancer/machine.rb', line 27

def hostname
  @attrs["hostname"]
end

#idObject



23
24
25
# File 'lib/boxcutter/load_balancer/machine.rb', line 23

def id
  @attrs["id"]
end

#ipObject



19
20
21
# File 'lib/boxcutter/load_balancer/machine.rb', line 19

def ip
  @attrs["ip"]
end

#portObject



15
16
17
# File 'lib/boxcutter/load_balancer/machine.rb', line 15

def port
  @attrs["port"]
end

#remove!Object



31
32
33
# File 'lib/boxcutter/load_balancer/machine.rb', line 31

def remove!
  backend.remove_machine(id)
end

#to_sObject



11
12
13
# File 'lib/boxcutter/load_balancer/machine.rb', line 11

def to_s
  "#<Machine id:'#{id}' backend_id:'#{backend.id}' hostname:'#{hostname}' ip:'#{ip}' port:'#{port}'>"
end