diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2008-06-03 15:32:25 +0200 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2008-06-03 15:32:25 +0200 |
commit | 8dc6190f4aba47a95f0a84d149abb6f5db5352a4 (patch) | |
tree | 29e9509d097b7d48e67c4e091230433033b6f432 | |
parent | Add a cleanup function to the plugin. (diff) | |
download | rbot-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.
-rw-r--r-- | bugzilla.rb | 29 |
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 |