diff --git a/app/helpers/icon_helper.rb b/app/helpers/icon_helper.rb
new file mode 100644
index 00000000..3fb817fa
--- /dev/null
+++ b/app/helpers/icon_helper.rb
@@ -0,0 +1,15 @@
+module IconHelper
+ include FontAwesome::Sass::Rails::ViewHelpers
+
+ def icon_fw(icon, text = nil, html_options = {})
+ text, html_options = nil, text if text.is_a?(Hash)
+
+ if html_options.key?(:class)
+ html_options[:class] = "fa-fw #{html_options[:class]}"
+ else
+ html_options[:class] = "fa-fw"
+ end
+
+ icon(icon, text, html_options)
+ end
+end
diff --git a/test/helpers/icon_helper_test.rb b/test/helpers/icon_helper_test.rb
new file mode 100644
index 00000000..5ab2e43f
--- /dev/null
+++ b/test/helpers/icon_helper_test.rb
@@ -0,0 +1,13 @@
+require 'test_helper'
+
+class IconHelperTest < ActionView::TestCase
+ include IconHelper
+
+ test 'icon_fw generates fixed-width class' do
+ assert_equal '', icon_fw('gear')
+ end
+
+ test 'icon_fw accepts an additional class' do
+ assert_equal '', icon_fw('gear', class: 'myclass')
+ end
+end