class Amanuensis::Github::CodeManager

Public Instance Methods

create_release(version) click to toggle source
# File lib/amanuensis/github/code_manager.rb, line 12
def create_release(version)
  client.create_release(Github.repo, version, {
    body:       "Release generated by amanuensis.",
    draft:      false,
    prerelease: false
  })
end
latest_release() click to toggle source
# File lib/amanuensis/github/code_manager.rb, line 5
def latest_release
  hash = client.latest_release(Github.repo)
  Release.new hash.created_at, hash.tag_name
rescue
  Release.new Date.new(1900), '0.0.0'
end
pulls(from) click to toggle source
# File lib/amanuensis/github/code_manager.rb, line 20
def pulls(from)
  filter(closed_pulls, from).map do |pull|
    Pull.new pull['number'], pull['html_url'], pull['title']
  end
end

Private Instance Methods

client() click to toggle source
# File lib/amanuensis/github/code_manager.rb, line 36
def client
  @client ||= Octokit::Client.new(access_token: Github.oauth_token, auto_paginate: true)
end
closed_pulls() click to toggle source
# File lib/amanuensis/github/code_manager.rb, line 32
def closed_pulls
  client.pull_requests(Github.repo, state: 'closed')
end
filter(list, from) click to toggle source
# File lib/amanuensis/github/code_manager.rb, line 28
def filter(list, from)
  list.select { |object| object.closed_at > from.to_time }
end