summaryrefslogtreecommitdiff
path: root/app/helpers/stat_anchors_helper.rb
blob: d9429f28be78c012ebcc46f535565de7444c8dc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true

module StatAnchorsHelper
  def stat_anchor_attrs(anchor)
    {}.tap do |attrs|
      attrs[:class] = %w(nav-link gl-display-flex gl-align-items-center) << extra_classes(anchor)
      attrs[:itemprop] = anchor.itemprop if anchor.itemprop
      attrs[:data] = anchor.data if anchor.data
    end
  end

  private

  def button_attribute(anchor)
    anchor.class_modifier || 'btn-dashed'
  end

  def extra_classes(anchor)
    if anchor.is_link
      'stat-link'
    else
      "gl-button btn #{button_attribute(anchor)}"
    end
  end
end