Skip to content

Commit c5822a4

Browse files
author
root
committed
Fix get_setting method
1 parent 7a8647b commit c5822a4

File tree

1 file changed

+29
-37
lines changed

1 file changed

+29
-37
lines changed

Diff for: lib/redmine_gitolite/config_redmine.rb

+29-37
Original file line numberDiff line numberDiff line change
@@ -9,56 +9,48 @@ module ConfigRedmine
99
###############################
1010

1111

12-
def self.get_setting(setting, bool = false)
13-
if bool
14-
return get_boolean_setting(setting)
15-
else
16-
return get_string_setting(setting)
17-
end
18-
end
12+
class << self
1913

20-
21-
def self.get_boolean_setting(setting)
22-
setting = setting.to_sym
23-
begin
24-
if Setting.plugin_redmine_git_hosting[setting] == 'true'
25-
value = true
14+
def get_setting(setting, bool = false)
15+
if bool
16+
return_bool do_get_setting(setting)
2617
else
27-
value = false
18+
return do_get_setting(setting)
2819
end
29-
rescue => e
30-
# puts e.message
31-
value = Redmine::Plugin.find("redmine_git_hosting").settings[:default][setting]
3220
end
3321

34-
if value.nil?
35-
value = Redmine::Plugin.find("redmine_git_hosting").settings[:default][setting]
36-
end
3722

38-
# puts "#{setting} : '#{value}' : #{value.class.name}"
39-
40-
return value
41-
end
23+
### PRIVATE ###
4224

4325

44-
def self.get_string_setting(setting)
45-
setting = setting.to_sym
46-
begin
47-
value = Setting.plugin_redmine_git_hosting[setting]
48-
rescue => e
49-
# puts e.message
50-
value = Redmine::Plugin.find("redmine_git_hosting").settings[:default][setting]
26+
def return_bool(value)
27+
value == 'true' ? true : false
5128
end
5229

53-
if value.nil?
54-
value = Redmine::Plugin.find("redmine_git_hosting").settings[:default][setting]
55-
end
5630

57-
# puts "#{setting} : '#{value}' : #{value.class.name}"
31+
def do_get_setting(setting)
32+
setting = setting.to_sym
33+
34+
## Wrap this in a begin/rescue statement because Setting table
35+
## may not exist on first migration
36+
begin
37+
value = Setting.plugin_redmine_git_hosting[setting]
38+
rescue => e
39+
value = Redmine::Plugin.find("redmine_git_hosting").settings[:default][setting]
40+
else
41+
## The Setting table exist but does not contain the value yet, fallback to default
42+
if value.nil?
43+
value = Redmine::Plugin.find("redmine_git_hosting").settings[:default][setting]
44+
end
45+
end
46+
47+
value
48+
end
5849

59-
return value
6050
end
6151

62-
end
52+
private_class_method :return_bool,
53+
:do_get_setting
6354

55+
end
6456
end

0 commit comments

Comments
 (0)