bug_bot 0.1.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 +7 -0
- data/README.md +66 -0
- data/Rakefile +9 -0
- data/lib/bug_bot.rb +49 -0
- data/lib/bug_bot/adapter.rb +12 -0
- data/lib/bug_bot/adapters/airbrake.rb +12 -0
- data/lib/bug_bot/adapters/bugsnag.rb +12 -0
- data/lib/bug_bot/identity.rb +22 -0
- metadata +150 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: '0846fe897275c66ee4299d32736a50009d9cf9490b0f43f5302e1ad4f6f4346d'
|
|
4
|
+
data.tar.gz: a2b10c4387ee9cf721bf98718654c80bbe447ab7e1d048dbbf187d1ecded0b56
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 15fa1ff6d000d85bf7bb0e44c3ec2335b57cbadbfde1b46c53753e541c4298e15f02a215f87a3fe60ee094052b1937c4f12f5ed52261d578f8fa440bb1d8cffe
|
|
7
|
+
data.tar.gz: 26a003927aa27fd2f60b18c4948466d41736900074b73faad3f54fa4aee4d4fd8e04535ce95ace6355d469a96d7678d68001048d6f255f4ff2cde609978dbfc7
|
data/README.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# BugBot
|
|
2
|
+
|
|
3
|
+
[](http://badge.fury.io/rb/bug_bot)
|
|
4
|
+
|
|
5
|
+
<!-- Tocer[start]: Auto-generated, don't remove. -->
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
- [Features](#features)
|
|
10
|
+
- [Screencasts](#screencasts)
|
|
11
|
+
- [Requirements](#requirements)
|
|
12
|
+
- [Setup](#setup)
|
|
13
|
+
- [Usage](#usage)
|
|
14
|
+
- [Tests](#tests)
|
|
15
|
+
- [Versioning](#versioning)
|
|
16
|
+
- [Contributions](#contributions)
|
|
17
|
+
- [License](#license)
|
|
18
|
+
- [History](#history)
|
|
19
|
+
- [Credits](#credits)
|
|
20
|
+
|
|
21
|
+
<!-- Tocer[finish]: Auto-generated, don't remove. -->
|
|
22
|
+
|
|
23
|
+
## Features
|
|
24
|
+
|
|
25
|
+
## Screencasts
|
|
26
|
+
|
|
27
|
+
## Requirements
|
|
28
|
+
|
|
29
|
+
1. [Ruby 2.5.0](https://www.ruby-lang.org)
|
|
30
|
+
|
|
31
|
+
## Setup
|
|
32
|
+
|
|
33
|
+
To install, run:
|
|
34
|
+
|
|
35
|
+
gem install bug_bot
|
|
36
|
+
|
|
37
|
+
Add the following to your Gemfile:
|
|
38
|
+
|
|
39
|
+
gem "bug_bot"
|
|
40
|
+
|
|
41
|
+
## Usage
|
|
42
|
+
|
|
43
|
+
## Tests
|
|
44
|
+
|
|
45
|
+
To test, run:
|
|
46
|
+
|
|
47
|
+
bundle exec rake
|
|
48
|
+
|
|
49
|
+
## Versioning
|
|
50
|
+
|
|
51
|
+
Read [Semantic Versioning](https://semver.org) for details. Briefly, it means:
|
|
52
|
+
|
|
53
|
+
- Major (X.y.z) - Incremented for any backwards incompatible public API changes.
|
|
54
|
+
- Minor (x.Y.z) - Incremented for new, backwards compatible, public API enhancements/fixes.
|
|
55
|
+
- Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.
|
|
56
|
+
|
|
57
|
+
## Contributions
|
|
58
|
+
|
|
59
|
+
Read [CONTRIBUTING](CONTRIBUTING.md) for details.
|
|
60
|
+
|
|
61
|
+
## License
|
|
62
|
+
|
|
63
|
+
Copyright 2018 []().
|
|
64
|
+
Read [LICENSE](LICENSE.md) for details.
|
|
65
|
+
|
|
66
|
+
|
data/Rakefile
ADDED
data/lib/bug_bot.rb
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
require 'bug_bot/identity'
|
|
2
|
+
|
|
3
|
+
module BugBot
|
|
4
|
+
extend self
|
|
5
|
+
|
|
6
|
+
SUPPORTED_ADAPTERS = { airbrake: 'airbrake-ruby', bugsnag: 'bugsnag' }.freeze
|
|
7
|
+
|
|
8
|
+
def use_adapter(adapter)
|
|
9
|
+
@adapter = case adapter
|
|
10
|
+
when String, Symbol
|
|
11
|
+
load_adapter(adapter.to_s)
|
|
12
|
+
when Class, Module
|
|
13
|
+
adapter
|
|
14
|
+
else
|
|
15
|
+
load_adapter(default_adapter)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def adapter
|
|
20
|
+
return @adapter if defined?(@adapter)
|
|
21
|
+
|
|
22
|
+
# TODO: Add adapter from config here
|
|
23
|
+
load_adapter(default_adapter)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
alias adapter= use_adapter
|
|
27
|
+
|
|
28
|
+
def default_adapter
|
|
29
|
+
return :airbrake if defined?(::Airbrake)
|
|
30
|
+
return :bugsnag if defined?(::Bugsnag)
|
|
31
|
+
|
|
32
|
+
SUPPORTED_ADAPTERS.each do |adapter, gem_name|
|
|
33
|
+
require gem_name
|
|
34
|
+
return adapter
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# TODO: Return default adapter here
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def load_adapter(name)
|
|
41
|
+
require "bug_bot/adapters/#{name.downcase}"
|
|
42
|
+
|
|
43
|
+
BugBot::Adapters.const_get(name.capitalize)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def notify(exception, &block)
|
|
47
|
+
adapter.notify(exception, &block)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module BugBot
|
|
2
|
+
# Gem identity information.
|
|
3
|
+
module Identity
|
|
4
|
+
module_function
|
|
5
|
+
|
|
6
|
+
def name
|
|
7
|
+
'bug_bot'
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def label
|
|
11
|
+
'BugBot'
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def version
|
|
15
|
+
'0.1.0'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def version_label
|
|
19
|
+
"#{label} #{version}"
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: bug_bot
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Amir Mujkic
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2018-12-08 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: pry
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0.10'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0.10'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: pry-byebug
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '3.5'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '3.5'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rake
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '12.3'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '12.3'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rspec
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '3.8'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '3.8'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: rubocop
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0.60'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0.60'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: rubocop-rspec
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '1.30'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '1.30'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: simplecov
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: 0.16.0
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: 0.16.0
|
|
111
|
+
description:
|
|
112
|
+
email:
|
|
113
|
+
- amirmujk@gmail.com
|
|
114
|
+
executables: []
|
|
115
|
+
extensions: []
|
|
116
|
+
extra_rdoc_files: []
|
|
117
|
+
files:
|
|
118
|
+
- README.md
|
|
119
|
+
- Rakefile
|
|
120
|
+
- lib/bug_bot.rb
|
|
121
|
+
- lib/bug_bot/adapter.rb
|
|
122
|
+
- lib/bug_bot/adapters/airbrake.rb
|
|
123
|
+
- lib/bug_bot/adapters/bugsnag.rb
|
|
124
|
+
- lib/bug_bot/identity.rb
|
|
125
|
+
homepage: ''
|
|
126
|
+
licenses:
|
|
127
|
+
- MIT
|
|
128
|
+
metadata:
|
|
129
|
+
changelog_uri: https://github.com/amirmujkic/bug_bot/blob/master/CHANGELOG.md
|
|
130
|
+
post_install_message:
|
|
131
|
+
rdoc_options: []
|
|
132
|
+
require_paths:
|
|
133
|
+
- lib
|
|
134
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: 2.5.3
|
|
139
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
|
+
requirements:
|
|
141
|
+
- - ">="
|
|
142
|
+
- !ruby/object:Gem::Version
|
|
143
|
+
version: '0'
|
|
144
|
+
requirements: []
|
|
145
|
+
rubyforge_project:
|
|
146
|
+
rubygems_version: 2.7.6
|
|
147
|
+
signing_key:
|
|
148
|
+
specification_version: 4
|
|
149
|
+
summary: ''
|
|
150
|
+
test_files: []
|