Class Irc::Bot::Config::ArrayValue
In: lib/rbot/config.rb
Parent: Value
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

Methods

add   new   parse   rm   to_s   validate_item  

Public Class methods

[Source]

     # File lib/rbot/config.rb, line 166
166:     def initialize(key, params)
167:       super
168:       @validate_item = params[:validate_item]
169:       @validate ||= Proc.new do |v|
170:         !v.find { |i| !validate_item(i) }
171:       end
172:     end

Public Instance methods

[Source]

     # File lib/rbot/config.rb, line 184
184:     def add(val)
185:       newval = self.get.dup
186:       unless newval.include? val
187:         newval << val
188:         validate_item(val) or raise ArgumentError, "invalid item: #{val}"
189:         validate(newval) or raise ArgumentError, "invalid value: #{newval.inspect}"
190:         set(newval)
191:       end
192:     end

[Source]

     # File lib/rbot/config.rb, line 178
178:     def parse(string)
179:       string.split(/,\s+/)
180:     end

[Source]

     # File lib/rbot/config.rb, line 193
193:     def rm(val)
194:       curval = self.get
195:       raise ArgumentError, "value #{val} not present" unless curval.include?(val)
196:       set(curval - [val])
197:     end

[Source]

     # File lib/rbot/config.rb, line 181
181:     def to_s
182:       get.join(", ")
183:     end

[Source]

     # File lib/rbot/config.rb, line 174
174:     def validate_item(item)
175:       validate(item, @validate_item)
176:     end

[Validate]