Class: Eussiror::Configuration
- Inherits:
-
Object
- Object
- Eussiror::Configuration
- Defined in:
- lib/eussiror/configuration.rb
Constant Summary collapse
- ISSUE_PRIVACY_LEVELS =
Allowed values for #issue_privacy: :minimal (default), :standard, :full
i[minimal standard full].freeze
Instance Attribute Summary collapse
-
#assignees ⇒ Object
Optional GitHub issue metadata.
-
#async ⇒ Object
Set to false to report synchronously (useful in tests).
-
#environments ⇒ Object
Environments where issue reporting is active (default: production only).
-
#github_repository ⇒ Object
Required settings.
-
#github_token ⇒ Object
Required settings.
-
#ignored_exceptions ⇒ Object
Exception classes to ignore (array of strings).
-
#issue_privacy ⇒ Object
Controls how much request/user context is included in GitHub issue bodies and occurrence comments.
-
#labels ⇒ Object
Optional GitHub issue metadata.
-
#report_handled_errors ⇒ Object
When true, errors caught by Rails.error.handle are also reported (default: false).
Instance Method Summary collapse
-
#environment_name ⇒ String
Current Rails / Rack environment name (for display in issue bodies).
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
- #reporting_enabled? ⇒ Boolean
- #valid? ⇒ Boolean
Constructor Details
#initialize ⇒ Configuration
30 31 32 33 34 35 36 37 38 |
# File 'lib/eussiror/configuration.rb', line 30 def initialize @environments = %w[production] @labels = [] @assignees = [] @ignored_exceptions = [] @async = true @report_handled_errors = false @issue_privacy = :minimal end |
Instance Attribute Details
#assignees ⇒ Object
Optional GitHub issue metadata
15 16 17 |
# File 'lib/eussiror/configuration.rb', line 15 def assignees @assignees end |
#async ⇒ Object
Set to false to report synchronously (useful in tests)
21 22 23 |
# File 'lib/eussiror/configuration.rb', line 21 def async @async end |
#environments ⇒ Object
Environments where issue reporting is active (default: production only)
12 13 14 |
# File 'lib/eussiror/configuration.rb', line 12 def environments @environments end |
#github_repository ⇒ Object
Required settings
9 10 11 |
# File 'lib/eussiror/configuration.rb', line 9 def github_repository @github_repository end |
#github_token ⇒ Object
Required settings
9 10 11 |
# File 'lib/eussiror/configuration.rb', line 9 def github_token @github_token end |
#ignored_exceptions ⇒ Object
Exception classes to ignore (array of strings)
18 19 20 |
# File 'lib/eussiror/configuration.rb', line 18 def ignored_exceptions @ignored_exceptions end |
#issue_privacy ⇒ Object
Controls how much request/user context is included in GitHub issue bodies and occurrence comments. :minimal is safest for public repos; :full for trusted private teams.
28 29 30 |
# File 'lib/eussiror/configuration.rb', line 28 def issue_privacy @issue_privacy end |
#labels ⇒ Object
Optional GitHub issue metadata
15 16 17 |
# File 'lib/eussiror/configuration.rb', line 15 def labels @labels end |
#report_handled_errors ⇒ Object
When true, errors caught by Rails.error.handle are also reported (default: false).
24 25 26 |
# File 'lib/eussiror/configuration.rb', line 24 def report_handled_errors @report_handled_errors end |
Instance Method Details
#environment_name ⇒ String
Current Rails / Rack environment name (for display in issue bodies).
56 57 58 |
# File 'lib/eussiror/configuration.rb', line 56 def environment_name current_environment end |
#reporting_enabled? ⇒ Boolean
49 50 51 |
# File 'lib/eussiror/configuration.rb', line 49 def reporting_enabled? valid? && environments.include?(current_environment) end |
#valid? ⇒ Boolean
44 45 46 47 |
# File 'lib/eussiror/configuration.rb', line 44 def valid? github_token.to_s.strip.length.positive? && github_repository.to_s.strip.length.positive? end |