slackistrano 0.1.4 → 0.1.5

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: d58d90d84b9afb75ad4d9f823cc7aaa5a70c6f2a
4
- data.tar.gz: e60fff0f076080afa0b6f45cec21574692fd5f7c
3
+ metadata.gz: 0a1407bbf8b606b2623a052d52055df8cc7b36bb
4
+ data.tar.gz: 81a5347837440d5955545f6fc3f74bc6b1e69ffe
5
5
  SHA512:
6
- metadata.gz: 3db7ce926a979e201219dbb021e5335c3396feeeb6f280318385ca98bec7ce749be8beb74cf37be979a39b1c820fef5ab23e1207c35d8600b6c8521d7a4851a8
7
- data.tar.gz: 7292420d05d6d461984c502fe90c5b3f4d2393930c6343249d57accd9a0c88dba8a73d10c290c212ce00e863e49dbadbb1efa93f6eb3a62f52620468dcab0009
6
+ metadata.gz: f06468179a1d516d756972e6eae955ffa1d340284b415e2bd588950cd42eb7db164b2a9edb9e81a2d69fbb5029490947991bd58dc17e41009866e410aa25a8f9
7
+ data.tar.gz: c193cbf26a18f3d8b1a73591cb95dd85b4bb31340d3db76790955e5ccdb7a603b9ebf7aee6e5b1eb5d9566aade7a2c567fc7ce7bfe0d0c348b593ec5bf1e3ba5
data/.travis.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 2.2.0
3
4
  - 2.1.0
4
5
  - 2.0.0
data/README.md CHANGED
@@ -58,9 +58,9 @@ Optionally, override the other slack settings:
58
58
  set :slack_run_starting, ->{ true }
59
59
  set :slack_run_finished, ->{ true }
60
60
  set :slack_run_failed, ->{ true }
61
- set :slack_msg_starting, ->{ "#{ENV['USER'] || ENV['USERNAME']} has started deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}." }
62
- set :slack_msg_finished, ->{ "#{ENV['USER'] || ENV['USERNAME']} has finished deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}." }
63
- set :slack_msg_failed, ->{ "*ERROR!* #{ENV['USER'] || ENV['USERNAME']} failed to deploy branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}." }
61
+ set :slack_msg_starting, ->{ "#{ENV['USER'] || ENV['USERNAME']} has started deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}" }
62
+ set :slack_msg_finished, ->{ "#{ENV['USER'] || ENV['USERNAME']} has finished deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}" }
63
+ set :slack_msg_failed, ->{ "#{ENV['USER'] || ENV['USERNAME']} failed to deploy branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}" }
64
64
 
65
65
  **Note**: You may wish to disable one of the notifications if another service (ex:
66
66
  Honeybadger) also displays a deploy notification.
@@ -15,7 +15,9 @@ namespace :slack do
15
15
  username: fetch(:slack_username),
16
16
  icon_url: fetch(:slack_icon_url),
17
17
  icon_emoji: fetch(:slack_icon_emoji),
18
- text: fetch(:slack_msg_starting)
18
+ attachments: [{
19
+ text: fetch(:slack_msg_starting)
20
+ }]
19
21
  }
20
22
  )
21
23
  end
@@ -35,7 +37,10 @@ namespace :slack do
35
37
  username: fetch(:slack_username),
36
38
  icon_url: fetch(:slack_icon_url),
37
39
  icon_emoji: fetch(:slack_icon_emoji),
38
- text: fetch(:slack_msg_finished)
40
+ attachments: [{
41
+ color: 'good',
42
+ text: fetch(:slack_msg_finished)
43
+ }]
39
44
  }
40
45
  )
41
46
  end
@@ -55,7 +60,10 @@ namespace :slack do
55
60
  username: fetch(:slack_username),
56
61
  icon_url: fetch(:slack_icon_url),
57
62
  icon_emoji: fetch(:slack_icon_emoji),
58
- text: fetch(:slack_msg_failed),
63
+ attachments: [{
64
+ color: 'danger',
65
+ text: fetch(:slack_msg_failed)
66
+ }]
59
67
  }
60
68
  )
61
69
  end
@@ -84,8 +92,8 @@ namespace :load do
84
92
  set :slack_run_starting, ->{ true } # Set to false to disable starting message.
85
93
  set :slack_run_finished, ->{ true } # Set to false to disable finished message.
86
94
  set :slack_run_failed, ->{ true } # Set to false to disable failure message.
87
- set :slack_msg_starting, ->{ "#{ENV['USER'] || ENV['USERNAME']} has started deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}." }
88
- set :slack_msg_finished, ->{ "#{ENV['USER'] || ENV['USERNAME']} has finished deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}." }
89
- set :slack_msg_failed, ->{ "*ERROR!* #{ENV['USER'] || ENV['USERNAME']} failed to deploy branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}." }
95
+ set :slack_msg_starting, ->{ "#{ENV['USER'] || ENV['USERNAME']} has started deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}" }
96
+ set :slack_msg_finished, ->{ "#{ENV['USER'] || ENV['USERNAME']} has finished deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}" }
97
+ set :slack_msg_failed, ->{ "#{ENV['USER'] || ENV['USERNAME']} failed to deploy branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}" }
90
98
  end
91
99
  end
@@ -1,3 +1,3 @@
1
1
  module Slackistrano
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -11,6 +11,5 @@ require 'rspec'
11
11
  Dir['#{File.dirname(__FILE__)}/support/**/*.rb'].each {|f| require f}
12
12
 
13
13
  RSpec.configure do |config|
14
- config.treat_symbols_as_metadata_keys_with_true_values = true
15
14
  config.order = 'random'
16
15
  end
data/spec/tasks_spec.rb CHANGED
@@ -23,8 +23,7 @@ describe Slackistrano do
23
23
  Rake::Task['deploy:failed'].execute
24
24
  end
25
25
 
26
- %w[starting finished failed].each do |stage|
27
-
26
+ shared_examples_for "slack notification" do |stage, color = nil|
28
27
  it "posts to slack on slack:deploy:#{stage}" do
29
28
  set "slack_run_#{stage}".to_sym, ->{ true }
30
29
  expect(Slackistrano).to receive :post
@@ -38,14 +37,18 @@ describe Slackistrano do
38
37
  end
39
38
 
40
39
  it "calls Slackistrano.post with all the right arguments on slack:deploy:#{stage}" do
41
- set "slack_run_#{stage}".to_sym, ->{ true }
40
+ set :"slack_run_#{stage}", ->{ true }
42
41
  set :slack_team, ->{ 'team' }
43
42
  set :slack_token, ->{ 'token' }
44
43
  set :slack_webhook, ->{ 'webhook' }
45
44
  set :slack_channel, ->{ 'channel' }
46
45
  set :slack_icon_url, ->{ 'http://icon.url' }
47
46
  set :slack_icon_emoji, ->{ ':emoji:' }
48
- set "slack_msg_#{stage}".to_sym, ->{ 'text message' }
47
+ set :"slack_msg_#{stage}", ->{ 'text message' }
48
+
49
+ attachment = {text: 'text message'}
50
+ attachment[:color] = color unless color.nil?
51
+
49
52
  expect(Slackistrano).to receive(:post).with(
50
53
  team: 'team',
51
54
  token: 'token',
@@ -56,11 +59,22 @@ describe Slackistrano do
56
59
  username: 'Slackistrano',
57
60
  icon_url: 'http://icon.url',
58
61
  icon_emoji: ':emoji:',
59
- text: 'text message'
62
+ attachments: [attachment]
60
63
  }
61
64
  )
62
65
  Rake::Task["slack:deploy:#{stage}"].execute
63
66
  end
64
- end # of stage loop
67
+ end
65
68
 
69
+ describe 'build is starting' do
70
+ it_should_behave_like "slack notification", :starting
71
+ end
72
+
73
+ describe 'build has finished' do
74
+ it_should_behave_like "slack notification", :finished, 'good'
75
+ end
76
+
77
+ describe 'build has failed' do
78
+ it_should_behave_like "slack notification", :failed, 'danger'
79
+ end
66
80
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slackistrano
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Philip Hallstrom
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-07 00:00:00.000000000 Z
11
+ date: 2015-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano