aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2008-06-03 15:32:25 +0200
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2008-06-03 15:32:25 +0200
commit8dc6190f4aba47a95f0a84d149abb6f5db5352a4 (patch)
tree29e9509d097b7d48e67c4e091230433033b6f432 /bugzilla.rb
parentAdd a cleanup function to the plugin. (diff)
downloadrbot-bugzilla-8dc6190f4aba47a95f0a84d149abb6f5db5352a4.tar.gz
rbot-bugzilla-8dc6190f4aba47a95f0a84d149abb6f5db5352a4.tar.bz2
rbot-bugzilla-8dc6190f4aba47a95f0a84d149abb6f5db5352a4.zip
Assign registry and bot instances when initializating the BugzillaInstance object.
Instead of passing the registry in both load and create methods, pass it to the initializer, and pass the bot instance too, instead of passing it to the announce method.
Diffstat (limited to 'bugzilla.rb')
-rw-r--r--bugzilla.rb29
1 files changed, 16 insertions, 13 deletions
diff --git a/bugzilla.rb b/bugzilla.rb
index 7a82e9d..59ddff3 100644
--- a/bugzilla.rb
+++ b/bugzilla.rb
@@ -190,12 +190,17 @@ class BugzillaPlugin < Plugin
@registry["zilla.#{name}.lastseenid"] = val
end
- def create(name, baseurl, registry)
- raise EInvalidInstance("", "Missing instance name") unless name
- raise EInvalidInstance("", "Missing instance base URL") unless baseurl
+ def initialize(registry, bot)
raise EInvalidInstance("", "Missing registry instance") unless registry
+ raise EInvalidInstance("", "Missing bot instance") unless bot
@registry = registry
+ @bot = bot
+ end
+
+ def create(name, baseurl)
+ raise EInvalidInstance("", "Missing instance name") unless name
+ raise EInvalidInstance("", "Missing instance base URL") unless baseurl
@name = name
self.baseurl = baseurl
@@ -212,11 +217,9 @@ class BugzillaPlugin < Plugin
end
end
- def load(name, registry)
+ def load(name)
raise EInvalidInstance("", "Missing instance name") unless name
- raise EInvalidInstance("", "Missing registry instance") unless registry
- @registry = registry
@name = name
end
@@ -343,7 +346,7 @@ class BugzillaPlugin < Plugin
@registry["zilla.#{@name}.announcements"] = @registry["zilla.#{@name}.announcements"] - [channel_name]
end
- def announce(bot)
+ def announce
buglist_url = baseurl +
"/buglist.cgi?ctype=csv&order=bugs.bug_id"
@@ -360,7 +363,7 @@ class BugzillaPlugin < Plugin
bugsummary = summary(bug[0])
@registry["zilla.#{@name}.announcements"].each do |chan|
- bot.say chan, "New bug: #{bugsummary}"
+ @bot.say chan, "New bug: #{bugsummary}"
end
end
@@ -384,8 +387,8 @@ class BugzillaPlugin < Plugin
if @registry["zillas"]
@registry["zillas"].each do |zilla|
- instance = BugzillaInstance.new
- instance.load(zilla, @registry)
+ instance = BugzillaInstance.new(@registry, @bot)
+ instance.load(zilla)
@zillas[zilla] = instance
end
else
@@ -548,8 +551,8 @@ class BugzillaPlugin < Plugin
return
end
- instance = BugzillaInstance.new
- instance.create(params[:zilla], params[:baseurl], @registry)
+ instance = BugzillaInstance.new(@registry, @bot)
+ instance.create(params[:zilla], params[:baseurl])
@zillas[params[:zilla]] = instance
m.reply "Added #{params[:zilla]}"
@@ -694,7 +697,7 @@ class BugzillaPlugin < Plugin
def poll_zillas
@zillas.each do |name, zilla|
- zilla.announce(@bot)
+ zilla.announce
end
end