From b64441d4730daae33f3cdd3c1881968b739d6863 Mon Sep 17 00:00:00 2001
From: rht <rudyht@gmail.com>
Date: Wed, 3 Dec 2014 11:36:10 +0800
Subject: [PATCH 1/2] Fix parsing the `@` prefix for botname mention

```
>> def strip_name(text, nick=nil) text.gsub(/\A(#{nick}:|@#{nick}) /, '') end
```
Test cases:
```
>> strip_name("pagerbot: make me a sandwich", "pagerbot")
=> "make me a sandwich"
>> strip_name("@pagerbot make me a sandwich", "pagerbot")
=> "make me a sandwich"
>> strip_name("pagerbot make me a sandwich", "pagerbot")
=> "pagerbot make me a sandwich"
```
---
 lib/pagerbot/parsing.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/pagerbot/parsing.rb b/lib/pagerbot/parsing.rb
index 8820652..77a9e58 100644
--- a/lib/pagerbot/parsing.rb
+++ b/lib/pagerbot/parsing.rb
@@ -1,6 +1,6 @@
 module PagerBot::Parsing
   def self.strip_name(text, nick=nil)
-    text.gsub(/\A@?#{nick}: /, '')
+    text.gsub(/\A(@?#{nick}:|@#{nick}) /, '')
   end
 
   def self.split_text(text)
-- 
GitLab


From 79bac692ab2c575174891870a5ac7d755af620c4 Mon Sep 17 00:00:00 2001
From: rht <rudyht@gmail.com>
Date: Wed, 3 Dec 2014 12:05:27 +0800
Subject: [PATCH 2/2] Add unittest to pagerbot name parsing

---
 test/unit/pagerbot/parsing.rb | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/test/unit/pagerbot/parsing.rb b/test/unit/pagerbot/parsing.rb
index ffa3a76..f957724 100644
--- a/test/unit/pagerbot/parsing.rb
+++ b/test/unit/pagerbot/parsing.rb
@@ -53,4 +53,33 @@ class Parsing < Critic::Test
       end
     end
   end
+
+  def strip_name(text, botname="test-pagerbot")
+    PagerBot::Parsing.strip_name(text, botname)
+  end
+
+  describe 'Parsing botname' do
+    #Three types of syntax are currently supported:
+    it "test-pagerbot:" do
+      assert_equal('make me a sandwich',
+                   strip_name('test-pagerbot: make me a sandwich'))
+    end
+
+    it "@test-pagerbot:" do
+      assert_equal('make me a sandwich',
+                   strip_name('@test-pagerbot: make me a sandwich'))
+    end
+
+    it "@test-pagerbot" do
+      assert_equal('make me a sandwich',
+                   strip_name('@test-pagerbot make me a sandwich'))
+    end
+
+    #The botname shouldn't be stripped out when there is neither a
+    #colon suffix or an '@' prefix
+    it "test-pagerbot" do
+      assert_equal('test-pagerbot make me a sandwich',
+                   strip_name('test-pagerbot make me a sandwich'))
+    end
+  end
 end
-- 
GitLab