babysitter 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,13 +19,11 @@ module Babysitter
19
19
  private
20
20
 
21
21
  def sanitise_subject(subject)
22
- if subject.size > 100
23
- subject[0..96] + "..."
24
- elsif subject.empty?
25
- "(no subject)"
26
- else
27
- subject
28
- end
22
+ sanitised = /\s*([^\x00-\x1F]*)/.match(subject)[1]
23
+
24
+ return "(no subject)" if sanitised.empty?
25
+ return sanitised[0..96] + "..." if sanitised.size > 100
26
+ sanitised
29
27
  end
30
28
 
31
29
  def validate_topic
@@ -1,3 +1,3 @@
1
1
  module Babysitter
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
@@ -54,6 +54,25 @@ module Babysitter
54
54
  subject.notify(original_subject, message)
55
55
  end
56
56
 
57
+ it "strips control characters" do
58
+ expected_subject = "this is the subject"
59
+ original_subject = "#{expected_subject}"
60
+ 32.times.each { |code| original_subject << code.chr }
61
+
62
+ topic.should_receive(:publish).with(message, hash_including(subject: expected_subject))
63
+
64
+ subject.notify(original_subject, message)
65
+ end
66
+
67
+ it "strips leading whitespace" do
68
+ expected_subject = "this is the subject"
69
+ original_subject = " #{expected_subject}"
70
+
71
+ topic.should_receive(:publish).with(message, hash_including(subject: expected_subject))
72
+
73
+ subject.notify(original_subject, message)
74
+ end
75
+
57
76
  it "handles empty subject" do
58
77
  topic.should_receive(:publish).with(message, hash_including(subject: "(no subject)"))
59
78
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: babysitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-02-05 00:00:00.000000000 Z
15
+ date: 2013-02-06 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: fozzie