Class: Weechat::IRC::Server

Inherits:
Object show all
Extended by:
Properties
Defined in:
lib/weechat/server.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Properties::ClassMethods

#apply_transformation, #init_properties, #known_integer_properties, #known_properties, #known_string_properties, #mappings, #rtransformations, #settable_properties, #transformations, #type

Constructor Details

#initialize(name) ⇒ Server

Returns a new instance of Server.



48
49
50
51
# File 'lib/weechat/server.rb', line 48

def initialize(name)
  @ptr = @name = name.to_s
  raise Exception::UnknownServer, name if get_infolist.empty?
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



9
10
11
# File 'lib/weechat/server.rb', line 9

def name
  @name
end

#ptrObject (readonly)

Returns the value of attribute ptr.



47
48
49
# File 'lib/weechat/server.rb', line 47

def ptr
  @ptr
end

Class Method Details

.serversObject Also known as: all



56
57
58
59
60
61
62
# File 'lib/weechat/server.rb', line 56

def servers
  servers = []
  Weechat::Infolist.parse("irc_server").each do |server|
    servers << Server.new(server[:name])
  end
  servers
end

Instance Method Details

#autojoin?Boolean

Returns:



43
44
45
# File 'lib/weechat/server.rb', line 43

def autojoin?
  !disable_autojoin
end

#channelsObject



66
67
68
69
70
71
72
# File 'lib/weechat/server.rb', line 66

def channels
  channels = []
  Weechat::Infolist.parse("irc_channel", "", @name).each do |channel|
    channels << IRC::Channel.new(channel[:buffer])
  end
  channels
end

#connectObject



74
75
76
77
# File 'lib/weechat/server.rb', line 74

def connect
  return false if connected?
  Weechat.exec("/connect #{@name}")
end

#disconnectObject



79
80
81
82
# File 'lib/weechat/server.rb', line 79

def disconnect
  return false if not connected?
  self.buffer.exec("/disconnect #{@name}")
end

#get_infolistObject

TODO method for creating a new server



86
87
88
# File 'lib/weechat/server.rb', line 86

def get_infolist
  Weechat::Infolist.parse("irc_server", "", @name)
end