user_color_scheme_class with current_user
This refactors the `user_color_scheme_class` to use a hash with a default. This prevents problems with workers that don't have access to the current_user. Fixes issue #2758
This commit is contained in:
parent
0447c731ba
commit
336750c916
|
@ -2,6 +2,13 @@ require 'digest/md5'
|
||||||
require 'uri'
|
require 'uri'
|
||||||
|
|
||||||
module ApplicationHelper
|
module ApplicationHelper
|
||||||
|
COLOR_SCHEMES = {
|
||||||
|
1 => 'white',
|
||||||
|
2 => 'black',
|
||||||
|
3 => 'solarized-dark',
|
||||||
|
4 => 'monokai',
|
||||||
|
}
|
||||||
|
COLOR_SCHEMES.default = 'white'
|
||||||
|
|
||||||
# Check if a particular controller is the current one
|
# Check if a particular controller is the current one
|
||||||
#
|
#
|
||||||
|
@ -124,17 +131,7 @@ module ApplicationHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def user_color_scheme_class
|
def user_color_scheme_class
|
||||||
# in case we dont have current_user (ex. in mailer)
|
COLOR_SCHEMES[current_user.try(:color_scheme_id)]
|
||||||
return 1 unless defined?(current_user)
|
|
||||||
|
|
||||||
case current_user.color_scheme_id
|
|
||||||
when 1 then 'white'
|
|
||||||
when 2 then 'black'
|
|
||||||
when 3 then 'solarized-dark'
|
|
||||||
when 4 then 'monokai'
|
|
||||||
else
|
|
||||||
'white'
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Define whenever show last push event
|
# Define whenever show last push event
|
||||||
|
|
|
@ -83,4 +83,26 @@ describe ApplicationHelper do
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "user_color_scheme_class" do
|
||||||
|
context "with current_user is nil" do
|
||||||
|
it "should return a string" do
|
||||||
|
stub!(:current_user).and_return(nil)
|
||||||
|
user_color_scheme_class.should be_kind_of(String)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "with a current_user" do
|
||||||
|
(1..5).each do |color_scheme_id|
|
||||||
|
context "with color_scheme_id == #{color_scheme_id}" do
|
||||||
|
it "should return a string" do
|
||||||
|
current_user = double(:color_scheme_id => color_scheme_id)
|
||||||
|
stub!(:current_user).and_return(current_user)
|
||||||
|
user_color_scheme_class.should be_kind_of(String)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue