class Tenma::Prepare::Context

Attributes

client[R]
config[R]
milestone[R]
options[R]
release_manager[R]

Public Instance Methods

load!(opts) click to toggle source
# File lib/tenma/prepare/context.rb, line 10
def load!(opts)
  @options = Tenma::Prepare::Options.new(opts)
  @config = Tenma::Prepare::Config.new(options.raw.config_file)
  @client = load_github_client
  @milestone = load_milestone!
  @release_manager = load_release_manager!

  self
end

Private Instance Methods

load_github_client() click to toggle source
# File lib/tenma/prepare/context.rb, line 21
def load_github_client
  Octokit.configure do |c|
    c.api_endpoint = config.raw.github.api_url
  end
  Octokit::Client.new(access_token: options.raw.github_token)
end
load_milestone!() click to toggle source
# File lib/tenma/prepare/context.rb, line 28
def load_milestone!
  milestones = client.milestones(config.github_reponame, {state: "open"}).select do |milestone|
    milestone[:title].include? options.raw.version
  end
  milestones.first or raise "Can't find a #{options.raw.version} milestone."
end
load_release_manager!() click to toggle source
# File lib/tenma/prepare/context.rb, line 35
def load_release_manager!
  client.user or raise "Can't find release manager."
end