Module: Wassup::Helpers::GitHub::Formatter
- Defined in:
- lib/wassup/helpers/github.rb
Class Method Summary collapse
- .issue(issue, show_repo: false, show_username: false, show_interactions: false) ⇒ Object
- .pr(pr, show_repo: false, show_username: false, show_interactions: false) ⇒ Object
- .release(release) ⇒ Object
Class Method Details
.issue(issue, show_repo: false, show_username: false, show_interactions: false) ⇒ Object
114 115 116 |
# File 'lib/wassup/helpers/github.rb', line 114 def self.issue(issue, show_repo: false, show_username: false, show_interactions: false) self.pr(issue, show_repo: show_repo, show_username: show_username, show_interactions: show_interactions) end |
.pr(pr, show_repo: false, show_username: false, show_interactions: false) ⇒ Object
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/wassup/helpers/github.rb', line 118 def self.pr(pr, show_repo: false, show_username: 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 username = "" if show_username username = "[fg=magenta]#{pr["user"]["login"]} " 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}#{username}[fg=white]#{title}" return display end |
.release(release) ⇒ Object
151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/wassup/helpers/github.rb', line 151 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 |