Add current_action? helper
This commit is contained in:
parent
afc4a75499
commit
aa0c4b77b6
2 changed files with 34 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
|||
require 'digest/md5'
|
||||
|
||||
module ApplicationHelper
|
||||
|
||||
# Check if a particular controller is the current one
|
||||
|
@ -15,6 +16,20 @@ module ApplicationHelper
|
|||
args.any? { |v| v.to_s.downcase == controller.controller_name }
|
||||
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)
|
||||
if Gitlab.config.disable_gravatar? || user_email.blank?
|
||||
'no_avatar.png'
|
||||
|
|
|
@ -20,6 +20,25 @@ describe ApplicationHelper do
|
|||
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
|
||||
let(:user_email) { 'user@email.com' }
|
||||
|
||||
|
|
Loading…
Reference in a new issue