Class: Txgh::GithubStatus

Inherits:
Object
  • Object
show all
Defined in:
lib/txgh/github_status.rb

Defined Under Namespace

Classes: State

Constant Summary collapse

ALL_COMPLETE_DESCRIPTION =
"Translations complete!"
TARGET_URL_TEMPLATE =
"https://www.transifex.com/%{organization}/%{project_slug}/content"
DESCRIPTION_TEMPLATE =
"%{complete}/%{total} translations complete."
CONTEXT =
'continuous-localization/txgh'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project, repo, branch) ⇒ GithubStatus

Returns a new instance of GithubStatus.



32
33
34
35
36
# File 'lib/txgh/github_status.rb', line 32

def initialize(project, repo, branch)
  @project = project
  @repo = repo
  @branch = branch
end

Instance Attribute Details

#branchObject (readonly)

Returns the value of attribute branch.



30
31
32
# File 'lib/txgh/github_status.rb', line 30

def branch
  @branch
end

#projectObject (readonly)

Returns the value of attribute project.



30
31
32
# File 'lib/txgh/github_status.rb', line 30

def project
  @project
end

#repoObject (readonly)

Returns the value of attribute repo.



30
31
32
# File 'lib/txgh/github_status.rb', line 30

def repo
  @repo
end

Class Method Details

.update(project, repo, branch) ⇒ Object



25
26
27
# File 'lib/txgh/github_status.rb', line 25

def update(project, repo, branch)
  new(project, repo, branch).update
end

Instance Method Details

#updateObject



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/txgh/github_status.rb', line 38

def update
  return if tx_resources.empty?

  sha = repo.api.get_ref(branch)[:object][:sha]

  repo.api.create_status(
    sha, state, {
      context: context, target_url: target_url, description: description
    }
  )
end