class BiIconParser

Attributes

attrs[R]
data[R]
icon[R]
options[R]
right[R]
style[R]
text[R]
title[R]

Public Class Methods

new(icon, options) click to toggle source
# File lib/bootstrap_icons_rails/parsers/bi_icon_parser.rb, line 9
def initialize(icon, options)
  @icon = icon
  @options = options
  @data = options[:data]
  @style = options[:style]
  @text = options[:text]
  @title = options[:title]
  @right = options[:right] == true
  @attrs = options.except(:text, :class, :icon, :size, :right)
end

Public Instance Methods

classes() click to toggle source
# File lib/bootstrap_icons_rails/parsers/bi_icon_parser.rb, line 20
def classes
  @classes ||= parse_classes
end
get_content_tag() click to toggle source
# File lib/bootstrap_icons_rails/parsers/bi_icon_parser.rb, line 28
def get_content_tag
  if @text.nil?
    icon_content_tag
  else
    @right ? (text_content_tag + icon_content_tag) : (icon_content_tag + text_content_tag)
  end
end
sizes() click to toggle source
# File lib/bootstrap_icons_rails/parsers/bi_icon_parser.rb, line 24
def sizes
  @sizes ||= @options[:size].nil? ? "" : arr_with_bi(@options[:size]).uniq.join(" ").strip
end

Private Instance Methods

icon_content_tag() click to toggle source
# File lib/bootstrap_icons_rails/parsers/bi_icon_parser.rb, line 47
def icon_content_tag
  content_tag(:i, nil, class: classes, **@attrs)
end
parse_classes() click to toggle source
# File lib/bootstrap_icons_rails/parsers/bi_icon_parser.rb, line 38
def parse_classes
  tmp = []
  tmp << icon_type(@options[:type])
  tmp += arr_with_bi(@icon)
  tmp += @options[:class].split(" ") unless @options[:class].nil?
  tmp += arr_with_bi(@options[:size]) unless @options[:size].nil?
  tmp.uniq.join(" ").strip
end
text_content_tag() click to toggle source
# File lib/bootstrap_icons_rails/parsers/bi_icon_parser.rb, line 51
def text_content_tag
  content_tag(:span, @text, class: "#{@right ? 'bi-text-r' : 'bi-text'}#{' ' unless sizes.blank?}#{sizes}", style: @style)
end