slack-notifier 1.3.1 → 1.4.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5924bad4c5a0afb1f1a02528a516fb9ddc0aad85
4
- data.tar.gz: 376a76a81211128232dc6a013605ea527ce82334
3
+ metadata.gz: f4b8594811b3092b0dd7f63d28babf5c154758a1
4
+ data.tar.gz: 892cc4f5174554ff2711773f96162fdf968b9555
5
5
  SHA512:
6
- metadata.gz: 02fb792d70de5843919aafa2d08442c450200afe8cd80aaa037e5aad71ff6edd20f13d89a675b7df28541044daa42927f1c932d4d988157ad4cfb3210dba4cdf
7
- data.tar.gz: 76578fba2c0e256d4e74f6d55852bf099315ea7ae3f720aaab379a2782978500110568ecf49856d1e779cd449b06182ec30bc8305b9859cc2c5b025a1ff1c8d4
6
+ metadata.gz: 29ac1440fc2206c3bbfb939983a5a9445313a10a587f54760e62ee18d8c27c8d8d1341c5e537b5106f36d76167892899f12220484cb3013b251be434ba478ea5
7
+ data.tar.gz: eccee2d94d9679638a7341eb0fd2c7fab2572561590ac4318623719bc219bbc4771bea8a2c3416f872559067501f447c98ed2d1d3fadbc16da1975f1700fb241
@@ -52,9 +52,9 @@ module Slack
52
52
  / <a (?:.*?) href=['"](.+?)['"] (?:.*?)> (.+?) <\/a> /x
53
53
  end
54
54
 
55
- # http://rubular.com/r/fLEdmTSghW
55
+ # http://rubular.com/r/guJbTK6x1f
56
56
  def markdown_pattern
57
- /\[ ([^\[\]]*?) \] \( (https?:\/\/.*?) \) /x
57
+ /\[ ([^\[\]]*?) \] \( ((https?:\/\/.*?) | (mailto:.*?)) \) /x
58
58
  end
59
59
 
60
60
  end
@@ -1,5 +1,5 @@
1
1
  module Slack
2
2
  class Notifier
3
- VERSION = "1.3.1"
3
+ VERSION = "1.4.0"
4
4
  end
5
5
  end
@@ -16,6 +16,13 @@ module Slack
16
16
 
17
17
  def ping message, options={}
18
18
  message = LinkFormatter.format(message)
19
+ if attachments = options[:attachments] || options["attachments"]
20
+ attachments.each do |attachment|
21
+ ["text", :text].each do |key|
22
+ attachment[key] = LinkFormatter.format(attachment[key]) if attachment.has_key?(key)
23
+ end
24
+ end
25
+ end
19
26
  payload = default_payload.merge(options).merge(text: message)
20
27
  client = payload.delete(:http_client) || http_client
21
28
  http_options = payload.delete(:http_options)
@@ -63,6 +63,16 @@ describe Slack::Notifier::LinkFormatter do
63
63
  expect(formatted).to eq "こんにちは"
64
64
  end
65
65
 
66
+ it "handles mailto links in markdown" do
67
+ formatted = described_class.format("[John](mailto:john@example.com)")
68
+ expect(formatted).to eq "<mailto:john@example.com|John>"
69
+ end
70
+
71
+ it "handles mailto links in html" do
72
+ formatted = described_class.format("<a href='mailto:john@example.com'>John</a>")
73
+ expect(formatted).to eq "<mailto:john@example.com|John>"
74
+ end
75
+
66
76
  end
67
77
 
68
78
  end
@@ -32,6 +32,20 @@ describe Slack::Notifier do
32
32
  described_class.new('http://example.com').ping "the message", channel: 'foo'
33
33
  end
34
34
 
35
+ it "passes attachment messages through LinkFormatter" do
36
+ expect( Slack::Notifier::LinkFormatter ).to receive(:format)
37
+ .with("the message")
38
+ expect( Slack::Notifier::LinkFormatter ).to receive(:format)
39
+ .with("attachment message")
40
+
41
+ described_class.new('http://example.com').ping "the message", channel: 'foo',
42
+ attachments: [{
43
+ color: "#000",
44
+ text: "attachment message",
45
+ fallback: "fallback message"
46
+ }]
47
+ end
48
+
35
49
  context "with a default channel set" do
36
50
 
37
51
  before :each do
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slack-notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Sloan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-30 00:00:00.000000000 Z
11
+ date: 2015-10-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: ' A slim ruby wrapper for posting to slack webhooks '
13
+ description: " A slim ruby wrapper for posting to slack webhooks "
14
14
  email:
15
15
  - stevenosloan@gmail.com
16
16
  executables: []
@@ -36,17 +36,17 @@ require_paths:
36
36
  - lib
37
37
  required_ruby_version: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  required_rubygems_version: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - '>='
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  requirements: []
48
48
  rubyforge_project:
49
- rubygems_version: 2.4.5
49
+ rubygems_version: 2.4.5.1
50
50
  signing_key:
51
51
  specification_version: 4
52
52
  summary: A slim ruby wrapper for posting to slack webhooks