airbrake_handler 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 58523af7548b3d80eb53adade8cfb47844f849c9
4
+ data.tar.gz: a6b7d9e4451a8da07e900cfc1c71fe6573636372
5
+ SHA512:
6
+ metadata.gz: 0ee565d5f628d947b06d86fd84aada7808be43bfb9d8d75f7cbcbc80390f960724d17687a4d9967f5cc2880869289a32e44a59e54b52e73b644013a831e5158b
7
+ data.tar.gz: 85d1916c6dd160ce8ada3e8bb60f284a2143512e270c3bebd9e028f89468f8973d2cbded4e9aeecf57b00ddcaf99f38391cc7041c7a41a78506c3f345bd2f041
@@ -1,6 +1,7 @@
1
+ language: ruby
2
+ sudo: false
3
+ cache: bundler
1
4
  notifications:
2
5
  disabled: true
3
6
  rvm:
4
- - 1.8.7
5
- - 1.9.2
6
- - 1.9.3
7
+ - 2.2
@@ -1,3 +1,9 @@
1
+ ## 0.5.0 (Jan 27, 2015)
2
+
3
+ Features:
4
+
5
+ - Added support for passing custom params (@jeroenj)
6
+
1
7
  ## 0.4.0 (Feb 15, 2012)
2
8
 
3
9
  Features:
data/Gemfile CHANGED
@@ -1,6 +1,5 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem "minitest", :platform => :ruby_18
4
3
  gem "rake"
5
4
 
6
5
  gemspec
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Report [Chef](http://www.opscode.com/chef) exceptions to [Airbrake](http://airbrake.io)
4
4
 
5
- Works fine with chef versions: 0.9.x and 0.10.x
5
+ Works fine with chef versions above 0.9.x
6
6
 
7
7
  ## Usage
8
8
 
@@ -36,14 +36,21 @@ airbrake_handler.ignore << {:class => "SystemExit"}
36
36
  airbrake_handler.ignore << {:class => "Errno::ECONNRESET", :message => /Connection reset by peer/}
37
37
  ```
38
38
 
39
+ ### Automation
40
+
41
+ If you would like to install `airbrake_handler` by Chef itself, you can use cookbook:
42
+
43
+ [Airbrake Handler Cookbook](https://github.com/cgriego/chef-airbrake_handler)
44
+
39
45
  ## Continuous Integration
40
46
 
41
- [![Build Status](https://secure.travis-ci.org/morgoth/airbrake_handler.png)](http://travis-ci.org/morgoth/airbrake_handler)
47
+ [![Build Status](https://travis-ci.org/morgoth/airbrake_handler.svg?branch=master)](https://travis-ci.org/morgoth/airbrake_handler)
42
48
 
43
49
  ## Contributors
44
50
 
45
51
  * [Anton Mironov](https://github.com/mironov)
46
52
  * [Benedikt Böhm](https://github.com/hollow)
53
+ * [Jeroen Jacobs](https://github.com/jeroenj)
47
54
 
48
55
  ## Copyright
49
56
 
data/Rakefile CHANGED
@@ -1,4 +1,4 @@
1
- require 'bundler'
1
+ require "bundler"
2
2
  Bundler::GemHelper.install_tasks
3
3
 
4
4
  require "rake/testtask"
@@ -1,15 +1,17 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
+ require "airbrake_handler"
3
4
 
4
5
  Gem::Specification.new do |s|
5
6
  s.name = "airbrake_handler"
6
- s.version = "0.4.0"
7
+ s.version = AirbrakeHandler::VERSION
7
8
  s.platform = Gem::Platform::RUBY
8
9
  s.authors = ["Adam Jacob", "Wojciech Wnętrzak"]
9
10
  s.email = ["w.wnetrzak@gmail.com"]
10
11
  s.homepage = "https://github.com/morgoth/airbrake_handler"
11
12
  s.summary = %q{Chef handler for sending exceptions to Airbrake}
12
13
  s.description = %q{Chef handler for sending exceptions to Airbrake}
14
+ s.license = "Apache"
13
15
 
14
16
  s.rubyforge_project = "airbrake_handler"
15
17
 
@@ -21,5 +23,5 @@ Gem::Specification.new do |s|
21
23
  s.add_dependency("chef", ">= 0.9.0")
22
24
  s.add_dependency("toadhopper", ">= 2.0")
23
25
 
24
- s.add_development_dependency("mocha")
26
+ s.add_development_dependency("mocha", ">= 1.1.0")
25
27
  end
@@ -20,15 +20,16 @@ require "chef/handler"
20
20
  require "toadhopper"
21
21
 
22
22
  class AirbrakeHandler < Chef::Handler
23
- VERSION = "0.4.0"
23
+ VERSION = "0.5.0"
24
24
 
25
- attr_accessor :options, :api_key, :ignore, :notify_host
25
+ attr_accessor :options, :api_key, :ignore, :notify_host, :params
26
26
 
27
- def initialize(options={})
28
- @api_key = options.delete(:api_key)
27
+ def initialize(options = {})
28
+ @api_key = options.delete(:api_key)
29
29
  @notify_host = options.delete(:notify_host) || nil
30
- @ignore = options.delete(:ignore) || []
31
- @options = options
30
+ @ignore = options.delete(:ignore) || []
31
+ @params = options.delete(:params) || {}
32
+ @options = options
32
33
  end
33
34
 
34
35
  def report
@@ -47,19 +48,23 @@ class AirbrakeHandler < Chef::Handler
47
48
 
48
49
  def airbrake_params
49
50
  {
50
- :notifier_name => "Chef Airbrake Notifier", :notifier_version => VERSION, :notifier_url => "https://github.com/morgoth/airbrake_handler",
51
- :component => run_status.node.name, :url => nil, :environment => {},
52
- :params => {
53
- :start_time => run_status.start_time,
54
- :end_time => run_status.end_time,
51
+ :notifier_name => "Chef Airbrake Notifier",
52
+ :notifier_version => VERSION,
53
+ :notifier_url => "https://github.com/morgoth/airbrake_handler",
54
+ :component => run_status.node.name,
55
+ :url => nil,
56
+ :environment => {},
57
+ :params => {
58
+ :start_time => run_status.start_time,
59
+ :end_time => run_status.end_time,
55
60
  :elapsed_time => run_status.elapsed_time,
56
- :run_list => run_status.node.run_list.to_s
57
- }
61
+ :run_list => run_status.node.run_list.to_s
62
+ }.merge(params)
58
63
  }.merge(options)
59
64
  end
60
65
 
61
66
  def client
62
67
  raise ArgumentError.new("You must specify Airbrake api key") unless api_key
63
- Toadhopper.new(api_key, :notify_host => @notify_host)
68
+ Toadhopper.new(api_key, :notify_host => notify_host)
64
69
  end
65
70
  end
@@ -90,6 +90,17 @@ describe AirbrakeHandler do
90
90
  :end_time => Time.mktime(2011,1,2), :elapsed_time => Time.mktime(2011,1,3))
91
91
  handler = AirbrakeHandler.new(:api_key => "fake")
92
92
  handler.stubs(:run_status => run_status)
93
- assert_equal Hash, handler.airbrake_params.class
93
+
94
+ refute_empty handler.airbrake_params
95
+ end
96
+
97
+ it "merges Airbrake params" do
98
+ node = stub(:name => "node-name", :run_list => "cookbook::recipe")
99
+ run_status = stub(:node => node, :start_time => Time.mktime(2011,1,1),
100
+ :end_time => Time.mktime(2011,1,2), :elapsed_time => Time.mktime(2011,1,3))
101
+ handler = AirbrakeHandler.new(api_key: "fake", params: {custom: "custom"})
102
+ handler.stubs(:run_status => run_status)
103
+
104
+ assert_equal "custom", handler.airbrake_params[:params][:custom]
94
105
  end
95
106
  end
@@ -1,6 +1,5 @@
1
- require "bundler/setup"
1
+ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
2
+ require "airbrake_handler"
2
3
 
3
4
  require "minitest/autorun"
4
- require "mocha"
5
-
6
- require "airbrake_handler"
5
+ require "mocha/mini_test"
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: airbrake_handler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
5
- prerelease:
4
+ version: 0.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Adam Jacob
@@ -10,41 +9,50 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2012-02-15 00:00:00.000000000 Z
12
+ date: 2015-01-27 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: chef
17
- requirement: &83704960 !ruby/object:Gem::Requirement
18
- none: false
16
+ requirement: !ruby/object:Gem::Requirement
19
17
  requirements:
20
- - - ! '>='
18
+ - - ">="
21
19
  - !ruby/object:Gem::Version
22
20
  version: 0.9.0
23
21
  type: :runtime
24
22
  prerelease: false
25
- version_requirements: *83704960
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: 0.9.0
26
28
  - !ruby/object:Gem::Dependency
27
29
  name: toadhopper
28
- requirement: &83704720 !ruby/object:Gem::Requirement
29
- none: false
30
+ requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - ! '>='
32
+ - - ">="
32
33
  - !ruby/object:Gem::Version
33
34
  version: '2.0'
34
35
  type: :runtime
35
36
  prerelease: false
36
- version_requirements: *83704720
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '2.0'
37
42
  - !ruby/object:Gem::Dependency
38
43
  name: mocha
39
- requirement: &83704530 !ruby/object:Gem::Requirement
40
- none: false
44
+ requirement: !ruby/object:Gem::Requirement
41
45
  requirements:
42
- - - ! '>='
46
+ - - ">="
43
47
  - !ruby/object:Gem::Version
44
- version: '0'
48
+ version: 1.1.0
45
49
  type: :development
46
50
  prerelease: false
47
- version_requirements: *83704530
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 1.1.0
48
56
  description: Chef handler for sending exceptions to Airbrake
49
57
  email:
50
58
  - w.wnetrzak@gmail.com
@@ -52,8 +60,8 @@ executables: []
52
60
  extensions: []
53
61
  extra_rdoc_files: []
54
62
  files:
55
- - .gitignore
56
- - .travis.yml
63
+ - ".gitignore"
64
+ - ".travis.yml"
57
65
  - CHANGELOG.md
58
66
  - Gemfile
59
67
  - LICENSE
@@ -61,30 +69,31 @@ files:
61
69
  - Rakefile
62
70
  - airbrake_handler.gemspec
63
71
  - lib/airbrake_handler.rb
64
- - test/airbrake_notifier_test.rb
72
+ - test/airbrake_handler_test.rb
65
73
  - test/helper.rb
66
74
  homepage: https://github.com/morgoth/airbrake_handler
67
- licenses: []
75
+ licenses:
76
+ - Apache
77
+ metadata: {}
68
78
  post_install_message:
69
79
  rdoc_options: []
70
80
  require_paths:
71
81
  - lib
72
82
  required_ruby_version: !ruby/object:Gem::Requirement
73
- none: false
74
83
  requirements:
75
- - - ! '>='
84
+ - - ">="
76
85
  - !ruby/object:Gem::Version
77
86
  version: '0'
78
87
  required_rubygems_version: !ruby/object:Gem::Requirement
79
- none: false
80
88
  requirements:
81
- - - ! '>='
89
+ - - ">="
82
90
  - !ruby/object:Gem::Version
83
91
  version: '0'
84
92
  requirements: []
85
93
  rubyforge_project: airbrake_handler
86
- rubygems_version: 1.8.16
94
+ rubygems_version: 2.4.5
87
95
  signing_key:
88
- specification_version: 3
96
+ specification_version: 4
89
97
  summary: Chef handler for sending exceptions to Airbrake
90
98
  test_files: []
99
+ has_rdoc: