class GithubReactions::Visualizer
Constants
- EMOJI_UNICORD_MAP
Attributes
reaction_groups[R]
repository_name[R]
Public Class Methods
new(repository_name, reaction_groups)
click to toggle source
# File lib/github_reactions/visualizer.rb, line 24 def initialize(repository_name, reaction_groups) @repository_name = repository_name @reaction_groups = reaction_groups end
visualize(repository_name, reaction_groups)
click to toggle source
# File lib/github_reactions/visualizer.rb, line 19 def visualize(repository_name, reaction_groups) new(repository_name, reaction_groups).visualize end
Public Instance Methods
visualize()
click to toggle source
# File lib/github_reactions/visualizer.rb, line 29 def visualize title = "#{repository_name} has #{count_grouped_by_reaction.values.reduce(:+)} reactions so far" table = Terminal::Table.new( title: title, headings: ['Emoji', 'Count'], rows: count_grouped_by_reaction.map(&:to_a), ) table.align_column(1, :right) puts table end
Private Instance Methods
count_grouped_by_reaction()
click to toggle source
# File lib/github_reactions/visualizer.rb, line 45 def count_grouped_by_reaction @_count_grouped_by_reaction ||= reaction_groups.reduce(Hash.new(0)) do |memo, reaction_group| reaction_group.each do |reaction| next if reaction.users.total_count.zero? memo[reaction.content] += reaction.users.total_count end memo end end