Commit aa0c4b77 authored by Robert Speicher's avatar Robert Speicher

Add current_action? helper

parent afc4a754
require 'digest/md5' require 'digest/md5'
module ApplicationHelper module ApplicationHelper
# Check if a particular controller is the current one # Check if a particular controller is the current one
...@@ -15,6 +16,20 @@ module ApplicationHelper ...@@ -15,6 +16,20 @@ module ApplicationHelper
args.any? { |v| v.to_s.downcase == controller.controller_name } args.any? { |v| v.to_s.downcase == controller.controller_name }
end end
# Check if a partcular action is the current one
#
# args - One or more action names to check
#
# Examples
#
# # On Projects#new
# current_action?(:new) # => true
# current_action?(:create) # => false
# current_action?(:new, :create) # => true
def current_action?(*args)
args.any? { |v| v.to_s.downcase == action_name }
end
def gravatar_icon(user_email = '', size = 40) def gravatar_icon(user_email = '', size = 40)
if Gitlab.config.disable_gravatar? || user_email.blank? if Gitlab.config.disable_gravatar? || user_email.blank?
'no_avatar.png' 'no_avatar.png'
......
...@@ -20,6 +20,25 @@ describe ApplicationHelper do ...@@ -20,6 +20,25 @@ describe ApplicationHelper do
end end
end end
describe 'current_action?' do
before do
stub!(:action_name).and_return('foo')
end
it "returns true when action matches argument" do
current_action?(:foo).should be_true
end
it "returns false when action does not match argument" do
current_action?(:bar).should_not be_true
end
it "should take any number of arguments" do
current_action?(:baz, :bar).should_not be_true
current_action?(:baz, :bar, :foo).should be_true
end
end
describe "gravatar_icon" do describe "gravatar_icon" do
let(:user_email) { 'user@email.com' } let(:user_email) { 'user@email.com' }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment