class BadgeWorker
Public Instance Methods
perform(identifier)
click to toggle source
# File lib/cutting_edge/workers/badge.rb, line 21 def perform(identifier) log_info 'Running Worker!' dependencies = get_from_store(identifier) if dependencies && !dependencies.empty? && !(dependencies[:outdated] == :unknown) result = if dependencies[:outdated] == :up_to_date CuttingEdge::BADGE_OK else dependencies = ::CuttingEdge::BADGE_LAYOUT.map { |k| [k, dependencies[k]] }.to_h. delete_if {|_, number| number == 0} ERB.new(CuttingEdge::BADGE_TEMPLATE).result_with_hash( base_width: CuttingEdge::BADGE_BASE_WIDTH, cell_width: CuttingEdge::BADGE_CELL_WIDTH, colors: CuttingEdge::BADGE_COLORS, dependencies: dependencies ) end else result = CuttingEdge::BADGE_ERROR end add_to_store("svg-#{identifier}", result) GC.start end