appsignal 0.4.6 → 0.4.7

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.
@@ -0,0 +1,11 @@
1
+ module Appsignal
2
+ module CarefulLogger
3
+ def carefully_log_error(message)
4
+ if @logger.respond_to?(:important)
5
+ @logger.important(message)
6
+ else
7
+ @logger.error(message)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,5 +1,9 @@
1
+ require 'appsignal/careful_logger'
2
+
1
3
  module Appsignal
2
4
  class Config
5
+ include Appsignal::CarefulLogger
6
+
3
7
  attr_accessor :root_path, :rails_env
4
8
 
5
9
  def initialize(root_path, rails_env, logger=Appsignal.logger)
@@ -11,13 +15,13 @@ module Appsignal
11
15
  def load
12
16
  file = File.join(@root_path, 'config/appsignal.yml')
13
17
  unless File.exists?(file)
14
- @logger.error "config not found at: #{file}"
18
+ carefully_log_error "config not found at: #{file}"
15
19
  return
16
20
  end
17
21
 
18
22
  config = YAML.load_file(file)[@rails_env]
19
23
  unless config
20
- @logger.error "config for '#{@rails_env}' not found"
24
+ carefully_log_error "config for '#{@rails_env}' not found"
21
25
  return
22
26
  end
23
27
 
@@ -26,5 +30,6 @@ module Appsignal
26
30
  :slow_request_threshold => 200
27
31
  }.merge(config.symbolize_keys)
28
32
  end
33
+
29
34
  end
30
35
  end
@@ -1,5 +1,9 @@
1
+ require 'appsignal/careful_logger'
2
+
1
3
  module Appsignal
2
4
  class Marker
5
+ include Appsignal::CarefulLogger
6
+
3
7
  attr_reader :marker_data, :config, :logger
4
8
  ACTION = 'markers'
5
9
 
@@ -23,12 +27,7 @@ module Appsignal
23
27
  end
24
28
  rescue Exception => e
25
29
  message = "Something went wrong while trying to notify Appsignal: #{e}"
26
- if @logger.respond_to?(:important)
27
- # This is a Capistrano logger
28
- @logger.important message
29
- else
30
- @logger.error message
31
- end
30
+ carefully_log_error message
32
31
  end
33
32
  end
34
33
  end
@@ -1,3 +1,3 @@
1
1
  module Appsignal
2
- VERSION = '0.4.6'
2
+ VERSION = '0.4.7'
3
3
  end
@@ -1,7 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Appsignal::Config do
4
- subject { Appsignal::Config.new(Dir.pwd, 'test').load }
4
+ let(:logger_parameter) { [] }
5
+ subject { Appsignal::Config.new(Dir.pwd, 'test', *logger_parameter).load }
5
6
 
6
7
  it {
7
8
  should == {
@@ -23,11 +24,23 @@ describe Appsignal::Config do
23
24
  )
24
25
  end
25
26
 
27
+ context "when the logger has no #error method" do
28
+ let(:logger) { mock(:logger) }
29
+ let(:logger_parameter) { [logger] }
30
+
31
+ it "should log the error using #important" do
32
+ logger.should_receive(:important).with(
33
+ "config not found at:"\
34
+ " /not/existing/config/appsignal.yml"
35
+ )
36
+ end
37
+ end
38
+
26
39
  after { subject }
27
40
  end
28
41
 
29
42
  context "the env is not in the config" do
30
- subject { Appsignal::Config.new(Dir.pwd, 'staging').load }
43
+ subject { Appsignal::Config.new(Dir.pwd, 'staging', *logger_parameter).load }
31
44
 
32
45
  it "should generate error" do
33
46
  Appsignal.logger.should_receive(:error).with(
@@ -35,6 +48,17 @@ describe Appsignal::Config do
35
48
  )
36
49
  end
37
50
 
51
+ context "when the logger has no #error method" do
52
+ let(:logger) { mock(:logger) }
53
+ let(:logger_parameter) { [logger] }
54
+
55
+ it "should log the error using #important" do
56
+ logger.should_receive(:important).with(
57
+ "config for 'staging' not found"
58
+ )
59
+ end
60
+ end
61
+
38
62
  after { subject }
39
63
  end
40
64
  end
@@ -62,6 +62,7 @@ describe AppsignalGenerator do
62
62
  context "internal failure" do
63
63
  before do
64
64
  prepare_destination
65
+ Appsignal::AuthCheck.should_receive(:new) { raise }
65
66
  run_generator_in_tmp %w(my_app_key)
66
67
  end
67
68
 
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
5
4
  prerelease:
5
+ version: 0.4.7
6
6
  platform: ruby
7
7
  authors:
8
8
  - Robert Beekman
@@ -13,120 +13,120 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2013-04-03 00:00:00.000000000 Z
16
+ date: 2013-04-08 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
- name: rails
20
- requirement: !ruby/object:Gem::Requirement
21
- none: false
19
+ version_requirements: !ruby/object:Gem::Requirement
22
20
  requirements:
23
21
  - - ~>
24
22
  - !ruby/object:Gem::Version
25
23
  version: '3'
26
- type: :runtime
27
- prerelease: false
28
- version_requirements: !ruby/object:Gem::Requirement
29
24
  none: false
25
+ prerelease: false
26
+ name: rails
27
+ requirement: !ruby/object:Gem::Requirement
30
28
  requirements:
31
29
  - - ~>
32
30
  - !ruby/object:Gem::Version
33
31
  version: '3'
32
+ none: false
33
+ type: :runtime
34
34
  - !ruby/object:Gem::Dependency
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ none: false
41
+ prerelease: false
35
42
  name: rake
36
43
  requirement: !ruby/object:Gem::Requirement
37
- none: false
38
44
  requirements:
39
45
  - - ! '>='
40
46
  - !ruby/object:Gem::Version
41
47
  version: '0'
48
+ none: false
42
49
  type: :runtime
43
- prerelease: false
50
+ - !ruby/object:Gem::Dependency
44
51
  version_requirements: !ruby/object:Gem::Requirement
45
- none: false
46
52
  requirements:
47
53
  - - ! '>='
48
54
  - !ruby/object:Gem::Version
49
55
  version: '0'
50
- - !ruby/object:Gem::Dependency
56
+ none: false
57
+ prerelease: false
51
58
  name: json
52
59
  requirement: !ruby/object:Gem::Requirement
53
- none: false
54
60
  requirements:
55
61
  - - ! '>='
56
62
  - !ruby/object:Gem::Version
57
63
  version: '0'
64
+ none: false
58
65
  type: :runtime
59
- prerelease: false
66
+ - !ruby/object:Gem::Dependency
60
67
  version_requirements: !ruby/object:Gem::Requirement
61
- none: false
62
68
  requirements:
63
69
  - - ! '>='
64
70
  - !ruby/object:Gem::Version
65
71
  version: '0'
66
- - !ruby/object:Gem::Dependency
72
+ none: false
73
+ prerelease: false
67
74
  name: rack
68
75
  requirement: !ruby/object:Gem::Requirement
69
- none: false
70
76
  requirements:
71
77
  - - ! '>='
72
78
  - !ruby/object:Gem::Version
73
79
  version: '0'
80
+ none: false
74
81
  type: :runtime
75
- prerelease: false
82
+ - !ruby/object:Gem::Dependency
76
83
  version_requirements: !ruby/object:Gem::Requirement
77
- none: false
78
84
  requirements:
79
85
  - - ! '>='
80
86
  - !ruby/object:Gem::Version
81
87
  version: '0'
82
- - !ruby/object:Gem::Dependency
88
+ none: false
89
+ prerelease: false
83
90
  name: rspec
84
91
  requirement: !ruby/object:Gem::Requirement
85
- none: false
86
92
  requirements:
87
93
  - - ! '>='
88
94
  - !ruby/object:Gem::Version
89
95
  version: '0'
96
+ none: false
90
97
  type: :development
91
- prerelease: false
98
+ - !ruby/object:Gem::Dependency
92
99
  version_requirements: !ruby/object:Gem::Requirement
93
- none: false
94
100
  requirements:
95
101
  - - ! '>='
96
102
  - !ruby/object:Gem::Version
97
103
  version: '0'
98
- - !ruby/object:Gem::Dependency
104
+ none: false
105
+ prerelease: false
99
106
  name: capistrano
100
107
  requirement: !ruby/object:Gem::Requirement
101
- none: false
102
108
  requirements:
103
109
  - - ! '>='
104
110
  - !ruby/object:Gem::Version
105
111
  version: '0'
112
+ none: false
106
113
  type: :development
107
- prerelease: false
114
+ - !ruby/object:Gem::Dependency
108
115
  version_requirements: !ruby/object:Gem::Requirement
109
- none: false
110
116
  requirements:
111
117
  - - ! '>='
112
118
  - !ruby/object:Gem::Version
113
119
  version: '0'
114
- - !ruby/object:Gem::Dependency
120
+ none: false
121
+ prerelease: false
115
122
  name: generator_spec
116
123
  requirement: !ruby/object:Gem::Requirement
117
- none: false
118
124
  requirements:
119
125
  - - ! '>='
120
126
  - !ruby/object:Gem::Version
121
127
  version: '0'
122
- type: :development
123
- prerelease: false
124
- version_requirements: !ruby/object:Gem::Requirement
125
128
  none: false
126
- requirements:
127
- - - ! '>='
128
- - !ruby/object:Gem::Version
129
- version: '0'
129
+ type: :development
130
130
  description: The official appsignal.com gem
131
131
  email:
132
132
  - contact@appsignal.com
@@ -153,6 +153,7 @@ files:
153
153
  - lib/appsignal/agent.rb
154
154
  - lib/appsignal/auth_check.rb
155
155
  - lib/appsignal/capistrano.rb
156
+ - lib/appsignal/careful_logger.rb
156
157
  - lib/appsignal/cli.rb
157
158
  - lib/appsignal/config.rb
158
159
  - lib/appsignal/exception_notification.rb
@@ -200,20 +201,26 @@ rdoc_options: []
200
201
  require_paths:
201
202
  - lib
202
203
  required_ruby_version: !ruby/object:Gem::Requirement
203
- none: false
204
204
  requirements:
205
205
  - - ! '>='
206
206
  - !ruby/object:Gem::Version
207
207
  version: '0'
208
- required_rubygems_version: !ruby/object:Gem::Requirement
208
+ segments:
209
+ - 0
210
+ hash: -3341543659726681693
209
211
  none: false
212
+ required_rubygems_version: !ruby/object:Gem::Requirement
210
213
  requirements:
211
214
  - - ! '>='
212
215
  - !ruby/object:Gem::Version
213
216
  version: '0'
217
+ segments:
218
+ - 0
219
+ hash: -3341543659726681693
220
+ none: false
214
221
  requirements: []
215
222
  rubyforge_project:
216
- rubygems_version: 1.8.23
223
+ rubygems_version: 1.8.24
217
224
  signing_key:
218
225
  specification_version: 3
219
226
  summary: Logs performance and exception data from your app toappsignal.com