class Released::Goals::GitHubReleaseExists
Public Class Methods
new(config)
click to toggle source
# File lib/released/goals/github_release_exists.rb, line 8 def initialize(config) @repository_name = config.fetch('repository_name') # e.g. nanoc/nanoc @tag = config.fetch('tag') @release_notes = config.fetch('release_notes') end
Public Instance Methods
achieved?()
click to toggle source
# File lib/released/goals/github_release_exists.rb, line 26 def achieved? client = Octokit::Client.new(netrc: true) releases = client.releases(@repository_name) releases.any? { |r| r.tag_name == @tag } end
failure_reason()
click to toggle source
# File lib/released/goals/github_release_exists.rb, line 32 def failure_reason "no release exists in repository #{@repository_name} for tag #{@tag}" end
to_s()
click to toggle source
# File lib/released/goals/github_release_exists.rb, line 14 def to_s "GitHub release exists (#{@tag} in #{@repository_name})" end
try_achieve()
click to toggle source
# File lib/released/goals/github_release_exists.rb, line 18 def try_achieve client = Octokit::Client.new(netrc: true) client.create_release( @repository_name, @tag, body: @release_notes ) end