Module Irc::ServerOrCasemap
In: lib/rbot/irc.rb
BasicUserMessage JoinMessage NamesMessage WhoisMessage ModeChangeMessage KickMessage MotdMessage QuitMessage BanlistMessage UserMessage NoSuchTargetMessage TopicMessage NickMessage WelcomeMessage UnknownMessage InviteMessage PartMessage NetmaskList UserList ArrayOf ChannelList Netmask User\n[lib/rbot/botuser.rb\nlib/rbot/irc.rb] Channel Singleton RfcCasemap StrictRfcCasemap AsciiCasemap Casemap PrivMessage NoticeMessage TokyoCabinet::BDB CIBDB Btree CIBtree Socket MessageQueue QueueRing Client DBHash\n[lib/rbot/registry/bdb.rb\nlib/rbot/registry/tc.rb] DBTree\n[lib/rbot/registry/bdb.rb\nlib/rbot/registry/tc.rb] Server NetmaskDb Bot\n[lib/rbot/botuser.rb\nlib/rbot/config.rb\nlib/rbot/ircbot.rb\nlib/rbot/language.rb\nlib/rbot/message.rb\nlib/rbot/messagemapper.rb\nlib/rbot/plugins.rb\nlib/rbot/rbotconfig.rb\nlib/rbot/registry/bdb.rb\nlib/rbot/registry/tc.rb] lib/rbot/ircsocket.rb lib/rbot/rfc2812.rb lib/rbot/registry/tc.rb lib/rbot/irc.rb lib/rbot/maskdb.rb lib/rbot/message.rb lib/rbot/messagemapper.rb lib/rbot/botuser.rb lib/rbot/registry/tc.rb (null) BotConfig PKGConfig ServerOrCasemap Irc dot/m_35_0.png

This module is included by all classes that are either bound to a server or should have a casemap.

Methods

Attributes

server  [R] 

Public Instance methods

Returns the casemap of the receiver, by looking at the bound @server (if possible) or at the @casemap otherwise

[Source]

     # File lib/rbot/irc.rb, line 222
222:     def casemap
223:       return @server.casemap if defined?(@server) and @server
224:       return @casemap
225:     end

Up/downcasing something that includes this module returns its Up/downcased to_s form

[Source]

     # File lib/rbot/irc.rb, line 246
246:     def downcase
247:       self.irc_downcase
248:     end

This is an auxiliary method: it returns true if the receiver fits the server and casemap specified in opts, false otherwise.

[Source]

     # File lib/rbot/irc.rb, line 206
206:     def fits_with_server_and_casemap?(opts={})
207:       srv = opts.fetch(:server, nil)
208:       cmap = opts.fetch(:casemap, nil)
209:       cmap = cmap.to_irc_casemap unless cmap.nil?
210: 
211:       if srv.nil?
212:         return true if cmap.nil? or cmap == casemap
213:       else
214:         return true if srv == @server and (cmap.nil? or cmap == casemap)
215:       end
216:       return false
217:     end

This method initializes the instance variables @server and @casemap according to the values of the hash keys :server and :casemap in opts

[Source]

     # File lib/rbot/irc.rb, line 188
188:     def init_server_or_casemap(opts={})
189:       @server = opts.fetch(:server, nil)
190:       raise TypeError, "#{@server} is not a valid Irc::Server" if @server and not @server.kind_of?(Server)
191: 
192:       @casemap = opts.fetch(:casemap, nil)
193:       if @server
194:         if @casemap
195:           @server.casemap.must_be(@casemap)
196:           @casemap = nil
197:         end
198:       else
199:         @casemap = (@casemap || 'rfc1459').to_irc_casemap
200:       end
201:     end

We allow up/downcasing with a different casemap

[Source]

     # File lib/rbot/irc.rb, line 239
239:     def irc_downcase(cmap=casemap)
240:       self.to_s.irc_downcase(cmap)
241:     end

We allow up/downcasing with a different casemap

[Source]

     # File lib/rbot/irc.rb, line 252
252:     def irc_upcase(cmap=casemap)
253:       self.to_s.irc_upcase(cmap)
254:     end

Returns a hash with the current @server and @casemap as values of :server and :casemap

[Source]

     # File lib/rbot/irc.rb, line 230
230:     def server_and_casemap
231:       h = {}
232:       h[:server] = @server if defined?(@server) and @server
233:       h[:casemap] = @casemap if defined?(@casemap) and @casemap
234:       return h
235:     end

Up/downcasing something that includes this module returns its Up/downcased to_s form

[Source]

     # File lib/rbot/irc.rb, line 259
259:     def upcase
260:       self.irc_upcase
261:     end

[Validate]