module FontAwesomeSass::ViewHelper

Public Instance Methods

awesome_btn(*args, &block) click to toggle source
# File lib/font_awesome-sass/view_helper.rb, line 20
def awesome_btn *args, &block
  options = args.extract_options!
  size = options[:size] if options[:size]
  type = options.delete(:type) if options[:type]

  clazz = "btn"
  clazz << " btn-#{size}" if size
  clazz << " btn-#{type}" if type && %w{primary}.include?(type.to_s)

  href = options.delete(:href) || '#'

  content_tag :a, {}.merge(class: clazz, href: href).merge(options[:btn] || {}) do
    capture(&block)
  end
end
awesome_button(name, *args, &block) click to toggle source
# File lib/font_awesome-sass/view_helper.rb, line 36
def awesome_button name, *args, &block
  options = args.extract_options!
  size = options[:size] if options[:size]
  type = options.delete(:type) if options[:type]

  clazz = "btn "
  clazz << " btn-#{size}" if size
  clazz << " btn-#{type}" if type && %w{primary}.include?(type.to_s)

  href = options.delete(:href) || '#'

  content_tag :a, {}.merge(class: clazz, href: href).merge(options[:btn] || {}) do
    awesome_icon name, options, &block
  end
end
awesome_icon(name, *args, &block) click to toggle source
# File lib/font_awesome-sass/view_helper.rb, line 3
def awesome_icon name, *args, &block
  options = args.extract_options!
  size = options.delete(:size) if options
  content = args.first unless args.blank?
  content ||= capture(&block) if block_given?
  content ||= ''

  name = name.to_s.dasherize
  name.gsub! /^icon-/, ''

  clazz = "icon-#{name}"
  clazz << " icon-#{size}" if size.to_s == 'large'
  clazz << " " << options.delete(:class) if options[:class]

  content_tag(:i, nil, options.merge(:class => clazz)) + content.html_safe
end