Class: Gimp::Mover
- Inherits:
-
Object
- Object
- Gimp::Mover
- Defined in:
- lib/gimp.rb
Instance Method Summary collapse
-
#initialize(options) ⇒ Mover
constructor
A new instance of Mover.
- #move_issue(id) ⇒ Object
Constructor Details
#initialize(options) ⇒ Mover
Returns a new instance of Mover.
6 7 8 9 10 11 12 |
# File 'lib/gimp.rb', line 6 def initialize() @client = Octokit::Client.new(access_token: .token) @options = @source = .source @destination = .destination @known_labels = Set.new end |
Instance Method Details
#move_issue(id) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/gimp.rb', line 14 def move_issue(id) issue = @client.issue(@source, id) labels = new_labels(@client.labels_for_issue(@source, id)) comments = @client.issue_comments(@source, id) labels.each { |label| ensure_label(label) } new_issue = @client.create_issue(@destination, issue.title, issue.body, assignee: new_assignee(issue), labels: labels.map(&:name).uniq) @client.add_comment(@destination, new_issue.number, "*Issue migrated from #{@source}##{issue.number}*") comments.each { |comment| @client.add_comment(@destination, new_issue.number, comment_text(comment)) } @client.close_issue(@source, id) new_issue.number end |