class GithubCommit::CommitWriter

Attributes

commit[R]
dir[R]
status[R]

Public Class Methods

new(commit:, status:, dir:) click to toggle source
# File lib/github_commit/commit_writer.rb, line 3
def initialize(commit:, status:, dir:)
  @commit = commit
  @status = status
  @dir = dir
end

Public Instance Methods

metadata() click to toggle source
# File lib/github_commit/commit_writer.rb, line 18
def metadata
  {
    version: { ref: commit.sha },
    metadata: [
      { name: "author", value: commit.commit.author.name },
      { name: "message", value: commit.commit.message },
      { name: "status", value: status.state },
      { name: "commit", value: commit.sha },
    ],
  }
end
write_commit!() click to toggle source
# File lib/github_commit/commit_writer.rb, line 9
def write_commit!
  File.open("#{dir}/ref", "w") { |f| f.write commit.sha }
  File.open("#{dir}/state", "w") { |f| f.write status.state }
  File.open("#{dir}/combined_status", "w") { |f| f.write status.to_h.to_json }
  File.open("#{dir}/commit", "w") { |f| f.write commit.to_h.to_json }
  File.open("#{dir}/author", "w") { |f| f.write commit.commit.author.name }
  File.open("#{dir}/message", "w") { |f| f.write commit.commit.message }
end