class PurrPr::Config

Attributes

assignee[R]
body[R]
title[R]

Public Class Methods

new() click to toggle source
# File lib/purr_pr/config.rb, line 11
def initialize
  # defaults - if setter is not called
  @maintainer_edit = true
  @reviewers = []
  @labels = []
end

Public Instance Methods

base(base_branch) click to toggle source
# File lib/purr_pr/config.rb, line 42
def base(base_branch)
  @base = base_branch
end
draft(enabled = true) click to toggle source
# File lib/purr_pr/config.rb, line 46
def draft(enabled = true)
  @draft = enabled
end
label(label) click to toggle source
# File lib/purr_pr/config.rb, line 54
def label(label)
  @labels << label
end
labels(labels) click to toggle source
# File lib/purr_pr/config.rb, line 50
def labels(labels)
  @labels += labels
end
maintainer_edit(enabled) click to toggle source
# File lib/purr_pr/config.rb, line 34
def maintainer_edit(enabled)
  @maintainer_edit = enabled
end
no_maintainer_edit() click to toggle source
# File lib/purr_pr/config.rb, line 38
def no_maintainer_edit
  maintainer_edit(false)
end
reviewer(reviewer) click to toggle source
# File lib/purr_pr/config.rb, line 62
def reviewer(reviewer)
  @reviewers << reviewer
end
reviewers(reviewers) click to toggle source
# File lib/purr_pr/config.rb, line 58
def reviewers(reviewers)
  @reviewers += reviewers
end
self_assign() click to toggle source
# File lib/purr_pr/config.rb, line 30
def self_assign
  assignee('@me')
end
values() click to toggle source
# File lib/purr_pr/config.rb, line 66
def values
  OpenStruct.new(
    title:           @title,
    body:            @body,
    assignee:        @assignee,
    base:            @base,
    draft:           @draft,
    reviewers:       @reviewers,
    labels:          @labels,
    maintainer_edit: @maintainer_edit
  )
end

Private Instance Methods

edit(subject, content: '', &block) click to toggle source
# File lib/purr_pr/config.rb, line 81
def edit(subject, content: '', &block)
  editor = Editor.new(subject, content: content)

  catch(:abort) { editor.evaluate(&block) } if block_given?

  interrupt if editor.interrupted?

  editor.content
end
interrupt() click to toggle source
# File lib/purr_pr/config.rb, line 91
def interrupt
  puts 'aborted'
  exit
end