Class: Groundskeeper::Sentry
- Inherits:
-
Object
- Object
- Groundskeeper::Sentry
- Defined in:
- lib/groundskeeper/sentry.rb
Overview
Wraps Sentry CLI executable.
Defined Under Namespace
Classes: Executable
Constant Summary collapse
- COMMAND =
"sentry-cli"- RELEASE =
sentry-cli arguments
"releases new -p %<project>s \"%<version>s\""- ASSOCIATE =
"releases set-commits --auto \"%<version>s\""
Instance Attribute Summary collapse
-
#project_name ⇒ Object
readonly
Returns the value of attribute project_name.
-
#sentry ⇒ Object
readonly
Returns the value of attribute sentry.
-
#version_prefix ⇒ Object
readonly
Returns the value of attribute version_prefix.
Class Method Summary collapse
Instance Method Summary collapse
-
#associate_commits(version) ⇒ Object
Associate commits with the release.
-
#create_release(version) ⇒ Object
Notify Sentry about release.
-
#initialize(sentry:, project_name:, version_prefix:) ⇒ Sentry
constructor
A new instance of Sentry.
Constructor Details
#initialize(sentry:, project_name:, version_prefix:) ⇒ Sentry
Returns a new instance of Sentry.
28 29 30 31 32 |
# File 'lib/groundskeeper/sentry.rb', line 28 def initialize(sentry:, project_name:, version_prefix:) @sentry = sentry @project_name = project_name @version_prefix = version_prefix end |
Instance Attribute Details
#project_name ⇒ Object (readonly)
Returns the value of attribute project_name.
11 12 13 |
# File 'lib/groundskeeper/sentry.rb', line 11 def project_name @project_name end |
#sentry ⇒ Object (readonly)
Returns the value of attribute sentry.
11 12 13 |
# File 'lib/groundskeeper/sentry.rb', line 11 def sentry @sentry end |
#version_prefix ⇒ Object (readonly)
Returns the value of attribute version_prefix.
11 12 13 |
# File 'lib/groundskeeper/sentry.rb', line 11 def version_prefix @version_prefix end |
Class Method Details
.build(project_name:, version_prefix:) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/groundskeeper/sentry.rb', line 20 def self.build(project_name:, version_prefix:) new( sentry: Executable.new, project_name: project_name, version_prefix: version_prefix ) end |
Instance Method Details
#associate_commits(version) ⇒ Object
Associate commits with the release
42 43 44 45 46 |
# File 'lib/groundskeeper/sentry.rb', line 42 def associate_commits(version) name = "#{version_prefix} #{version}" sentry.execute(format(ASSOCIATE, version: name)) end |
#create_release(version) ⇒ Object
Notify Sentry about release
35 36 37 38 39 |
# File 'lib/groundskeeper/sentry.rb', line 35 def create_release(version) name = "#{version_prefix} #{version}" sentry.execute(format(RELEASE, project: project_name, version: name)) end |