diff options
author | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | 2007-09-23 10:57:08 +0000 |
---|---|---|
committer | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | 2007-09-23 10:57:08 +0000 |
commit | 478abdd11956f5de0d8250cd2dbe44e8a104c4d1 (patch) | |
tree | d69535f4d5c4b99ed8c020ddb1fccad46f018efc /lib/rbot/botuser.rb | |
parent | 798cbea49964b32478f582ef11b25a15b6c811bd (diff) |
UserData cote botmodule to handle user data storage/retrieval
Diffstat (limited to 'lib/rbot/botuser.rb')
-rw-r--r-- | lib/rbot/botuser.rb | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/lib/rbot/botuser.rb b/lib/rbot/botuser.rb index d61926b8..a710a863 100644 --- a/lib/rbot/botuser.rb +++ b/lib/rbot/botuser.rb @@ -237,9 +237,6 @@ class Bot attr_reader :password
attr_reader :netmasks
attr_reader :perm
- # Please remember to #set_changed() the Auth.manager
- # when modifying data
- attr_reader :data
attr_writer :login_by_mask
attr_writer :transient
@@ -317,9 +314,6 @@ class Bot raise "must provide a usable mask for transient BotUser #{@username}" if @transient and @netmasks.empty?
@perm = {}
-
- # @data = AuthNotifyingHash.new
- @data = {}
end
# Inspection
@@ -332,11 +326,6 @@ class Bot str << " @perm=#{@perm.inspect}"
str << " @login_by_mask=#{@login_by_mask}"
str << " @autologin=#{@autologin}"
- if @data.empty?
- str << " no data"
- else
- str << " data for #{@data.keys.join(', ')}"
- end
str << ">"
end
@@ -354,7 +343,6 @@ class Bot :perm => @perm,
:login_by_mask => @login_by_mask,
:autologin => @autologin,
- :data => @data
}
end
@@ -393,7 +381,6 @@ class Bot @netmasks.each { |n| Auth.manager.maskdb.add(self, n) } if @autologin
end
@perm = h[:perm] if h.has_key?(:perm)
- @data.replace(h[:data]) if h.has_key?(:data)
end
# This method sets the password if the proposed new password
@@ -904,44 +891,6 @@ end def botuser
Irc::Bot::Auth.manager.irc_to_botuser(self)
end
-
- # Bot-specific data can be stored with Irc::Users. This is
- # internally obtained by storing data to the associated BotUser,
- # but this is a detail plugin writers shouldn't care about.
- # bot_data(:key) can be used to retrieve a particular data set.
- # This method is intended for data retrieval, and if the retrieved
- # data is modified directly there is no guarantee the changes will
- # be saved back. Use #set_bot_data() for that.
- #
- def bot_data(key=nil)
- return self.botuser.data if key.nil?
- return self.botuser.data[key]
- end
-
- # This method is used to store bot-specific data for the receiver.
- # If no block is passed, _value_ is stored for the key _key_;
- # if a block is passed, it will be called with the previous
- # _key_ value as parameter, and its return value will be stored
- # as the new value. If _value_ is present in the block form, it
- # will be used to initialize _key_ if it's missing
- #
- def set_bot_data(key,value=nil,&block)
- if not block_given?
- self.botuser.data[key]=value
- Irc::Bot::Auth.manager.set_changed
- return value
- end
- if value and not bot_data.has_key?(key)
- set_bot_data(key, value)
- end
- r = value
- begin
- r = yield bot_data(key)
- ensure
- Irc::Bot::Auth.manager.set_changed
- end
- return r
- end
end
end
|