datadog_notifier 1.0.2 → 1.0.4

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
  SHA256:
3
- metadata.gz: 14ff80cbc6ef96b9c11645c8dcc1b677152a1037324abdac0419986a6fe46101
4
- data.tar.gz: 3e7c6ec0b41bd032c2e938cf513315b6c0b196539586d73e67de74e10bfd3521
3
+ metadata.gz: a948726d1fa53ac82fc8a246138e13988d90df0fcaebf2285646ec27b8a5bfca
4
+ data.tar.gz: 5b4b50b7e58eaf19eb485dab559084f19fab585208adb06dc5ade4c88f548c5f
5
5
  SHA512:
6
- metadata.gz: 8cf93a28542fd650ec19d3cd7c599c15a476a66311539cd5f3e8e57e972c7e363575538c36ba2afb662c0093960061e9f080c0fbd3e27b3c7288843d81f75c22
7
- data.tar.gz: 185a201ed12dea3a78e88ae7bf8680dcd2bd57f2b6a6bad4d703b2eb6740d657b108847e64ab409e98f1d6cca4940a18c1218fc4066802821ce97ce82882439e
6
+ metadata.gz: e54a34377bf28f41f33c6354162867d726925d0363b1afbbf58033cdd43af8ca7b31576cb60f5c7f36b44f69a66b7967fc1a82b7c42a5b2e971ba7e0e6499f25
7
+ data.tar.gz: 5aa6fd98bd6bce016963a721e492d4889eae1791859ed67096786ceee70a3e1a71a54c8946949b2695a894627ae664f1b5c9affb7f25cfd7951986f6b89d1e0c
@@ -6,24 +6,19 @@ on:
6
6
  - 'v*' # Trigger on version tags, e.g., v1.0.0
7
7
 
8
8
  jobs:
9
- build:
9
+ publish:
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
12
  - name: Checkout code
13
13
  uses: actions/checkout@v2
14
14
 
15
- - name: Setup Ruby
16
- uses: ruby/setup-ruby@v1
17
- with:
18
- ruby-version: 2.7
15
+ - name: Install ddtrace gem
16
+ run: gem install ddtrace
19
17
 
20
- - name: Install dependencies
21
- run: gem install bundler && bundle install --jobs 4 --retry 3
18
+ - name: Build gem
19
+ run: gem build datadog_notifier.gemspec
22
20
 
23
21
  - name: Publish gem
24
- if: github.ref == 'refs/tags/v*'
22
+ run: gem publish *.gem
25
23
  env:
26
24
  RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
27
- run: |
28
- gem build datadog_notifier.gemspec
29
- gem push datadog_notifier-*.gem
@@ -1,7 +1,9 @@
1
- lib = File.expand_path("../lib", __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'datadog_notifier'
4
- require "datadog_notifier/version"
6
+ require 'datadog_notifier/version'
5
7
 
6
8
  Gem::Specification.new do |spec|
7
9
  spec.name = 'datadog_notifier'
@@ -11,22 +13,22 @@ Gem::Specification.new do |spec|
11
13
  spec.summary = 'Datadog notifier to send custom errors with ddtrace'
12
14
  spec.description = 'Datadog notifier to send custom errors in Datadog error tracking dashboard'
13
15
  spec.homepage = 'https://github.com/patterninc/datadog_notifier'
14
- spec.license = "MIT"
16
+ spec.license = 'MIT'
17
+
18
+ spec.add_dependency 'ddtrace', '>= 1.13.0'
15
19
 
16
20
  # Specify which files should be added to the gem when it is released.
17
21
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
22
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
19
23
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
24
  end
21
- spec.bindir = "exe"
25
+ spec.bindir = 'exe'
22
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
27
  spec.require_paths = ['lib']
24
- spec.required_ruby_version = ">= 2.7.0"
28
+ spec.required_ruby_version = '>= 2.7.0'
25
29
 
26
- spec.add_development_dependency "bundler", "~> 2.2.3"
27
- spec.add_development_dependency "rake", "~> 13.0"
28
-
29
- spec.add_dependency 'ddtrace', '>= 1.13.0'
30
+ spec.add_development_dependency 'bundler', '~> 2.4.22'
31
+ spec.add_development_dependency 'rake', '~> 13.0'
30
32
 
31
33
  # If needed, add development dependencies
32
34
  spec.add_development_dependency 'rspec'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class DatadogNotifier
2
- VERSION = "1.0.2"
4
+ VERSION = '1.0.4'
3
5
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'ddtrace'
4
4
  require 'datadog_notifier_exception'
5
- require "datadog_notifier/version"
5
+ require 'datadog_notifier/version'
6
6
 
7
7
  # DatadogNotifier for custom error notification to datadog
8
8
  class DatadogNotifier
@@ -10,7 +10,8 @@ class DatadogNotifier
10
10
  root_span = find_root_span(Datadog::Tracing.active_span)
11
11
  if exception.is_a?(String)
12
12
  exception = DatadogNotifierException.new exception
13
- exception.set_backtrace(payload.inspect)
13
+ backtrace = fetch_backtrace(payload)
14
+ exception.set_backtrace(backtrace.inspect)
14
15
  end
15
16
  root_span.set_error(exception)
16
17
  root_span.set_tag('custom_dd_notifier', true)
@@ -22,4 +23,10 @@ class DatadogNotifier
22
23
  current_span = current_span.send(:parent) while current_span.send(:parent)
23
24
  current_span
24
25
  end
26
+
27
+ def self.fetch_backtrace(exception)
28
+ return { custom_exception: true } if exception.blank?
29
+ return exception.backtrace if exception.class.ancestors.include?(StandardError)
30
+ exception
31
+ end
25
32
  end
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datadog_notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patterninc
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-29 00:00:00.000000000 Z
11
+ date: 2024-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: ddtrace
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.2.3
20
- type: :development
19
+ version: 1.13.0
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 2.2.3
26
+ version: 1.13.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '13.0'
33
+ version: 2.4.22
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '13.0'
40
+ version: 2.4.22
41
41
  - !ruby/object:Gem::Dependency
42
- name: ddtrace
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.13.0
48
- type: :runtime
47
+ version: '13.0'
48
+ type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.13.0
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  - !ruby/object:Gem::Version
100
100
  version: '0'
101
101
  requirements: []
102
- rubygems_version: 3.2.3
102
+ rubygems_version: 3.1.2
103
103
  signing_key:
104
104
  specification_version: 4
105
105
  summary: Datadog notifier to send custom errors with ddtrace