Class: Cinch::Network
- Inherits:
-
Object
- Object
- Cinch::Network
- Defined in:
- lib/cinch/network.rb
Overview
This class allows querying the IRC network for its name and used server software as well as certain non-standard behaviour.
Instance Attribute Summary collapse
-
#capabilities ⇒ Array<Symbol>
network.
-
#ircd ⇒ Symbol
The server software used by the network.
-
#name ⇒ Symbol
The name of the network.
Instance Method Summary collapse
-
#default_messages_per_second ⇒ Numeric
The ‘messages per second` value that best suits the current network.
-
#default_server_queue_size ⇒ Integer
The ‘server queue size` value that best suits the current network.
-
#initialize(name, ircd) ⇒ Network
constructor
private
A new instance of Network.
-
#jtv? ⇒ Boolean
True if connected to JTV.
-
#ngametv? ⇒ Boolean
True if connected to NgameTV.
-
#owner_list_mode ⇒ String?
The mode used for getting the list of channel owners, if any.
-
#quiet_list_mode ⇒ String?
The mode used for getting the list of channel quiets, if any.
-
#unknown_ircd? ⇒ Boolean
True if we do not know which software the server is running.
-
#unknown_network? ⇒ Boolean
True if we do not know which network we are connected to.
-
#whois_only_one_argument? ⇒ Boolean
Does WHOIS only support one argument?.
Constructor Details
#initialize(name, ircd) ⇒ Network
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
The user should not create instances of this class but use IRC#network instead.
Returns a new instance of Network.
35 36 37 38 39 |
# File 'lib/cinch/network.rb', line 35 def initialize(name, ircd) @name = name @ircd = ircd @capabilities = [] end |
Instance Attribute Details
#capabilities ⇒ Array<Symbol>
network.
25 26 27 |
# File 'lib/cinch/network.rb', line 25 def capabilities @capabilities end |
#ircd ⇒ Symbol
Returns The server software used by the network. ‘:unknown` if the software couldn’t be detected.
18 19 20 |
# File 'lib/cinch/network.rb', line 18 def ircd @ircd end |
#name ⇒ Symbol
Returns The name of the network. ‘:unknown` if the network couldn’t be detected.
11 12 13 |
# File 'lib/cinch/network.rb', line 11 def name @name end |
Instance Method Details
#default_messages_per_second ⇒ Numeric
Returns The ‘messages per second` value that best suits the current network.
86 87 88 89 90 91 92 93 |
# File 'lib/cinch/network.rb', line 86 def case @name when :freenode 0.7 else 0.5 end end |
#default_server_queue_size ⇒ Integer
Returns The ‘server queue size` value that best suits the current network.
97 98 99 100 101 102 103 104 |
# File 'lib/cinch/network.rb', line 97 def default_server_queue_size case @name when :quakenet 40 else 10 end end |
#jtv? ⇒ Boolean
Returns True if connected to JTV.
64 65 66 |
# File 'lib/cinch/network.rb', line 64 def jtv? @name == :jtv end |
#ngametv? ⇒ Boolean
Returns True if connected to NgameTV.
59 60 61 |
# File 'lib/cinch/network.rb', line 59 def ngametv? @name == :ngametv end |
#owner_list_mode ⇒ String?
Returns The mode used for getting the list of channel owners, if any.
43 44 45 |
# File 'lib/cinch/network.rb', line 43 def owner_list_mode return "q" if @ircd == :unreal || @ircd == :inspircd end |
#quiet_list_mode ⇒ String?
Returns The mode used for getting the list of channel quiets, if any.
49 50 51 |
# File 'lib/cinch/network.rb', line 49 def quiet_list_mode return "q" if @ircd == :"ircd-seven" end |
#unknown_ircd? ⇒ Boolean
Returns True if we do not know which software the server is running.
76 77 78 |
# File 'lib/cinch/network.rb', line 76 def unknown_ircd? @ircd == :unknown end |
#unknown_network? ⇒ Boolean
Returns True if we do not know which network we are connected to.
70 71 72 |
# File 'lib/cinch/network.rb', line 70 def unknown_network? @name == :unknown end |
#whois_only_one_argument? ⇒ Boolean
Returns Does WHOIS only support one argument?.
54 55 56 |
# File 'lib/cinch/network.rb', line 54 def whois_only_one_argument? @name == :jtv end |