@@ -9,56 +9,48 @@ module ConfigRedmine
9
9
###############################
10
10
11
11
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
19
13
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 )
26
17
else
27
- value = false
18
+ return do_get_setting ( setting )
28
19
end
29
- rescue => e
30
- # puts e.message
31
- value = Redmine ::Plugin . find ( "redmine_git_hosting" ) . settings [ :default ] [ setting ]
32
20
end
33
21
34
- if value . nil?
35
- value = Redmine ::Plugin . find ( "redmine_git_hosting" ) . settings [ :default ] [ setting ]
36
- end
37
22
38
- # puts "#{setting} : '#{value}' : #{value.class.name}"
39
-
40
- return value
41
- end
23
+ ### PRIVATE ###
42
24
43
25
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
51
28
end
52
29
53
- if value . nil?
54
- value = Redmine ::Plugin . find ( "redmine_git_hosting" ) . settings [ :default ] [ setting ]
55
- end
56
30
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
58
49
59
- return value
60
50
end
61
51
62
- end
52
+ private_class_method :return_bool ,
53
+ :do_get_setting
63
54
55
+ end
64
56
end
0 commit comments