# File lib/rbot/config.rb, line 166 def initialize(key, params) super @validate_item = params[:validate_item] @validate ||= Proc.new do |v| !v.find { |i| !validate_item(i) } end end
# File lib/rbot/config.rb, line 184 def add(val) newval = self.get.dup unless newval.include? val newval << val validate_item(val) or raise ArgumentError, "invalid item: #{val}" validate(newval) or raise ArgumentError, "invalid value: #{newval.inspect}" set(newval) end end
# File lib/rbot/config.rb, line 178 def parse(string) string.split(/,\s+/) end
# File lib/rbot/config.rb, line 193 def rm(val) curval = self.get raise ArgumentError, "value #{val} not present" unless curval.include?(val) set(curval - [val]) end
# File lib/rbot/config.rb, line 181 def to_s get.join(", ") end
# File lib/rbot/config.rb, line 174 def validate_item(item) validate(item, @validate_item) end