Module: Wassup::Helpers::GitHub::Formatter

Defined in:
lib/wassup/helpers/github.rb

Class Method Summary collapse

Class Method Details

.issue(issue, show_repo: false, show_interactions: false) ⇒ Object



89
90
91
# File 'lib/wassup/helpers/github.rb', line 89

def self.issue(issue, show_repo: false, show_interactions: false)
  self.pr(issue, show_repo: show_repo, show_interactions: show_interactions)
end

.pr(pr, show_repo: false, show_interactions: false) ⇒ Object



93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/wassup/helpers/github.rb', line 93

def self.pr(pr, show_repo: false, show_interactions: false)
  number = pr["number"]
  title = pr["title"]
  created_at = pr["created_at"]

  repo_name = ""
  if show_repo
    repo_url_parts = pr["repository_url"].split("/")
    repo_name = "[fg=gray]#{repo_url_parts.last} "
  end

  interactions = ""
  if show_interactions
    interaction_count = pr["comments"] + pr["reactions"]["total_count"]
    interactions = "[fg=red]#{interaction_count} "
  end

  number_formatted = '%-7.7s' % "##{number}"

  date = Time.parse(created_at)
  days = (Time.now - date).to_i / (24 * 60 * 60)
  days_formatted = '%3.3s' % days.to_s

  display = "[fg=yellow]#{number_formatted}[fg=cyan] #{days_formatted}d ago #{interactions}#{repo_name}[fg=white]#{title}"

  return display
end

.release(release) ⇒ Object



121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/wassup/helpers/github.rb', line 121

def self.release(release)
  tag_name = release["tag_name"]
  name = release["name"]
  published_at = release["published_at"]

  date = Time.parse(published_at)
  days = (Time.now - date).to_i / (24 * 60 * 60)
  days_formatted = '%3.3s' % days.to_s

  display = "[fg=yellow]#{tag_name} [fg=cyan]#{days_formatted}d ago [fg=gray]#{name}"

  return display 
end