Sha256: b76d727137fb62cd5c3b9f193a8db5dd11ccbd407f9b8ecfde0958d0697669b8

Contents?: true

Size: 1014 Bytes

Versions: 2

Compression:

Stored size: 1014 Bytes

Contents

module BrkFonts
  module Rails
    module IconHelper
      def brk_icon(names = "flag", options = {})
        classes = [""]
        classes.concat Private.icon_names(names)
        classes.concat Array(options.delete(:class))
        text = options.delete(:text)
        right_icon = options.delete(:right)
        icon = content_tag(:i, nil, options.merge(:class => classes))
        Private.icon_join(icon, text, right_icon)
      end

      module Private
        extend ActionView::Helpers::OutputSafetyHelper

        def self.icon_join(icon, text, reverse_order = false)
          return icon if text.blank?
          elements = [icon, ERB::Util.html_escape(text)]
          elements.reverse! if reverse_order
          safe_join(elements, " ")
        end

        def self.icon_names(names = [])
          array_value(names).map { |n| "brk-#{n}" }
        end

        def self.array_value(value = [])
          value.is_a?(Array) ? value : value.to_s.split(/\s+/)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
brk-fonts-rails-1.0.2 app/helpers/brk_fonts/rails/icon_helper.rb
brk-fonts-rails-1.0.0 app/helpers/brk_fonts/rails/icon_helper.rb