class RubyCriticSmallBadge::Report
Basic Badge Formater Class that creates the badges.
Public Class Methods
new(analysed_modules)
click to toggle source
# File lib/rubycritic_small_badge/report.rb, line 9 def initialize(analysed_modules) @config = RubyCriticSmallBadge.config @analysed_modules = analysed_modules end
Public Instance Methods
generate_report()
click to toggle source
# File lib/rubycritic_small_badge/report.rb, line 14 def generate_report mk_output_dir! score = @analysed_modules.score @image = RepoSmallBadge::Image.new(map_image_config(state(score))) badge('score', 'score', score) true end
Private Instance Methods
badge(name, title, score)
click to toggle source
# File lib/rubycritic_small_badge/report.rb, line 32 def badge(name, title, score) value_txt = score_text(score) @image.config_merge(map_image_config(state(score))) @image.badge(name, title, value_txt) end
map_image_config(state)
click to toggle source
# File lib/rubycritic_small_badge/report.rb, line 54 def map_image_config(state) hash = {} @config.to_hash.map do |key, value| key = key .to_s.sub(/^score_background_#{state}/, 'value_background') .to_sym key = key.to_s.sub(/^score_/, 'value_').to_sym hash[key] = value end hash end
max_score()
click to toggle source
# File lib/rubycritic_small_badge/report.rb, line 24 def max_score 100.0 end
mk_output_dir!()
click to toggle source
# File lib/rubycritic_small_badge/report.rb, line 28 def mk_output_dir! FileUtils.mkdir_p(@config.output_path) end
score_text(score)
click to toggle source
# File lib/rubycritic_small_badge/report.rb, line 38 def score_text(score) "#{score}/#{max_score}" end
state(value)
click to toggle source
# File lib/rubycritic_small_badge/report.rb, line 42 def state(value) if @config.minimum_score&.positive? if value >= @config.minimum_score 'good' else 'bad' end else 'unknown' end end