diff options
Diffstat (limited to 'bugzilla.rb')
-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 |