Class: BadgeWorker
- Inherits:
-
GenericWorker
- Object
- GenericWorker
- BadgeWorker
- Defined in:
- lib/cutting_edge/workers/badge.rb
Instance Method Summary collapse
Methods included from WorkerHelpers
#add_to_store, #badge_worker, #delete_from_store, #get_from_store, #log_info, #mail_worker
Instance Method Details
#perform(identifier) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# 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 |