ArtOfCode-/qpixel

View on GitHub
app/helpers/tabs_helper.rb

Summary

Maintainability
A
1 hr
Test Coverage
module TabsHelper
  def tabs
    @building_tabs = []
    yield
    tabs = @building_tabs.join("\n")
    @building_tabs = []
    tag.div raw(tabs), class: 'tabs'
  end

  def tab(text, link_url, **opts, &block)
    active = opts[:is_active] || false
    opts.delete :is_active
    opts[:class] = if opts[:class]
                     "#{opts[:class]} tabs--tab#{active ? ' tab__active' : ''}"
                   else
                     "tabs--tab#{active ? ' tab__active' : ''}"
                   end

    @building_tabs << if block_given?
                        link_to link_url, **opts, &block
                      else
                        link_to text, link_url, **opts
                      end
  end
end