Module: Usps::Support::Models::GitHub

Defined in:
lib/usps/support/models/git_hub.rb

Overview

GitHub API

Constant Summary collapse

ORG =
'unitedstatespowersquadrons'

Class Method Summary collapse

Class Method Details

.check_suites(repo, branch) ⇒ Object



10
11
12
# File 'lib/usps/support/models/git_hub.rb', line 10

def check_suites(repo, branch)
  client.check_suites_for_ref("#{ORG}/#{repo}", branch).check_suites
end

.expired?Boolean

Returns:

  • (Boolean)


30
# File 'lib/usps/support/models/git_hub.rb', line 30

def expired? = expires_at <= Time.zone.now

.expires_atObject



31
# File 'lib/usps/support/models/git_hub.rb', line 31

def expires_at = @auth[:expires_at]

.fetch_head_commit(repo, branch) ⇒ Object



14
15
16
17
# File 'lib/usps/support/models/git_hub.rb', line 14

def fetch_head_commit(repo, branch)
  sha = client.ref("#{ORG}/#{repo}", "heads/#{branch}").object.sha
  client.commit("#{ORG}/#{repo}", sha).commit
end

.latest_tag(repo, include_prereleases: false) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/usps/support/models/git_hub.rb', line 19

def latest_tag(repo, include_prereleases: false)
  client
    .tags("#{ORG}/#{repo}")
    .pluck(:name)
    .grep(/^v\d+\.\d+\.\d(?:-[\w\-.]+)?/)
    .index_with { Gem::Version.new(it.delete('v')) }
    .reject { |_, gv| gv.prerelease? unless include_prereleases }
    .max_by { |_, gv| gv }
    .first
end

.permissionsObject



32
# File 'lib/usps/support/models/git_hub.rb', line 32

def permissions = @auth[:permissions]

.repository_selectionObject



33
# File 'lib/usps/support/models/git_hub.rb', line 33

def repository_selection = @auth[:repository_selection]