Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Tatuya Kamada
gitlab-ce
Commits
b2e46f44
Commit
b2e46f44
authored
Dec 20, 2012
by
Riyad Preukschas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor Settings initializer
All overrides are marked as deprecated. Default settings are at the bottom.
parent
44969039
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
200 additions
and
6 deletions
+200
-6
config/initializers/1_settings.rb
config/initializers/1_settings.rb
+200
-6
No files found.
config/initializers/1_settings.rb
View file @
b2e46f44
...
@@ -2,23 +2,43 @@ class Settings < Settingslogic
...
@@ -2,23 +2,43 @@ class Settings < Settingslogic
source
"
#{
Rails
.
root
}
/config/gitlab.yml"
source
"
#{
Rails
.
root
}
/config/gitlab.yml"
class
<<
self
class
<<
self
# FIXME: Deprecated: remove for 4.1
def
web_protocol
def
web_protocol
ActiveSupport
::
Deprecation
.
warn
(
"Settings.web_protocol is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitlab
.
protocol
rescue
Settingslogic
::
MissingSetting
self
.
web
[
'protocol'
]
||=
web
.
https
?
"https"
:
"http"
self
.
web
[
'protocol'
]
||=
web
.
https
?
"https"
:
"http"
end
end
# FIXME: Deprecated: remove for 4.1
def
web_host
def
web_host
ActiveSupport
::
Deprecation
.
warn
(
"Settings.web_host is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitlab
.
host
rescue
Settingslogic
::
MissingSetting
self
.
web
[
'host'
]
||=
'localhost'
self
.
web
[
'host'
]
||=
'localhost'
end
end
# FIXME: Deprecated: remove for 4.1
def
email_from
def
email_from
ActiveSupport
::
Deprecation
.
warn
(
"Settings.email_from is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitlab
.
email_from
rescue
Settingslogic
::
MissingSetting
self
.
email
[
'from'
]
||=
(
"notify@"
+
web_host
)
self
.
email
[
'from'
]
||=
(
"notify@"
+
web_host
)
end
end
# FIXME: Deprecated: remove for 4.1
def
url
def
url
ActiveSupport
::
Deprecation
.
warn
(
"Settings.url is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitlab
.
url
rescue
Settingslogic
::
MissingSetting
self
[
'url'
]
||=
build_url
self
[
'url'
]
||=
build_url
end
end
# FIXME: Deprecated: remove for 4.1
def
web_port
def
web_port
ActiveSupport
::
Deprecation
.
warn
(
"Settings.web_port is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitlab
.
port
.
to_i
rescue
Settingslogic
::
MissingSetting
if
web
.
https
if
web
.
https
web
[
'port'
]
=
443
web
[
'port'
]
=
443
else
else
...
@@ -26,11 +46,17 @@ class Settings < Settingslogic
...
@@ -26,11 +46,17 @@ class Settings < Settingslogic
end
.
to_i
end
.
to_i
end
end
# FIXME: Deprecated: remove for 4.1
def
web_custom_port?
def
web_custom_port?
ActiveSupport
::
Deprecation
.
warn
(
"Settings.web_custom_port? is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitlab_on_non_standard_port?
rescue
Settingslogic
::
MissingSetting
!
[
443
,
80
].
include?
(
web_port
)
!
[
443
,
80
].
include?
(
web_port
)
end
end
# FIXME: Deprecated: remove for 4.1
def
build_url
def
build_url
ActiveSupport
::
Deprecation
.
warn
(
"Settings.build_url is deprecated and will be removed from GitLab 4.1"
,
caller
)
if
web_custom_port?
if
web_custom_port?
custom_port
=
":
#{
web_port
}
"
custom_port
=
":
#{
web_port
}
"
else
else
...
@@ -44,19 +70,35 @@ class Settings < Settingslogic
...
@@ -44,19 +70,35 @@ class Settings < Settingslogic
].
join
(
''
)
].
join
(
''
)
end
end
# FIXME: Deprecated: remove for 4.1
def
ssh_port
def
ssh_port
ActiveSupport
::
Deprecation
.
warn
(
"Settings.ssh_port is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
ssh_port
rescue
Settingslogic
::
MissingSetting
git_host
[
'port'
]
||
22
git_host
[
'port'
]
||
22
end
end
# FIXME: Deprecated: remove for 4.1
def
ssh_user
def
ssh_user
ActiveSupport
::
Deprecation
.
warn
(
"Settings.ssh_user is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
ssh_user
rescue
Settingslogic
::
MissingSetting
git_host
[
'git_user'
]
||
'git'
git_host
[
'git_user'
]
||
'git'
end
end
# FIXME: Deprecated: remove for 4.1
def
ssh_host
def
ssh_host
ActiveSupport
::
Deprecation
.
warn
(
"Settings.ssh_host is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
ssh_host
rescue
Settingslogic
::
MissingSetting
git_host
[
'host'
]
||
web_host
||
'localhost'
git_host
[
'host'
]
||
web_host
||
'localhost'
end
end
# FIXME: Deprecated: remove for 4.1
def
ssh_path
def
ssh_path
ActiveSupport
::
Deprecation
.
warn
(
"Settings.ssh_path is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
ssh_path_prefix
rescue
Settingslogic
::
MissingSetting
if
ssh_port
!=
22
if
ssh_port
!=
22
"ssh://
#{
ssh_user
}
@
#{
ssh_host
}
:
#{
ssh_port
}
/"
"ssh://
#{
ssh_user
}
@
#{
ssh_host
}
:
#{
ssh_port
}
/"
else
else
...
@@ -64,15 +106,27 @@ class Settings < Settingslogic
...
@@ -64,15 +106,27 @@ class Settings < Settingslogic
end
end
end
end
# FIXME: Deprecated: remove for 4.1
def
git_base_path
def
git_base_path
ActiveSupport
::
Deprecation
.
warn
(
"Settings.git_base_path is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
repos_path
rescue
Settingslogic
::
MissingSetting
git_host
[
'base_path'
]
||
'/home/git/repositories/'
git_host
[
'base_path'
]
||
'/home/git/repositories/'
end
end
# FIXME: Deprecated: remove for 4.1
def
git_hooks_path
def
git_hooks_path
ActiveSupport
::
Deprecation
.
warn
(
"Settings.git_hooks_path is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
hooks_path
rescue
Settingslogic
::
MissingSetting
git_host
[
'hooks_path'
]
||
'/home/git/share/gitolite/hooks/'
git_host
[
'hooks_path'
]
||
'/home/git/share/gitolite/hooks/'
end
end
# FIXME: Deprecated: remove for 4.1
def
git_upload_pack
def
git_upload_pack
ActiveSupport
::
Deprecation
.
warn
(
"Settings.git_upload_pack is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
upload_pack
rescue
Settingslogic
::
MissingSetting
if
git_host
[
'upload_pack'
]
!=
false
if
git_host
[
'upload_pack'
]
!=
false
true
true
else
else
...
@@ -80,7 +134,11 @@ class Settings < Settingslogic
...
@@ -80,7 +134,11 @@ class Settings < Settingslogic
end
end
end
end
# FIXME: Deprecated: remove for 4.1
def
git_receive_pack
def
git_receive_pack
ActiveSupport
::
Deprecation
.
warn
(
"Settings.git_receive_pack is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
receive_pack
rescue
Settingslogic
::
MissingSetting
if
git_host
[
'receive_pack'
]
!=
false
if
git_host
[
'receive_pack'
]
!=
false
true
true
else
else
...
@@ -88,71 +146,207 @@ class Settings < Settingslogic
...
@@ -88,71 +146,207 @@ class Settings < Settingslogic
end
end
end
end
# FIXME: Deprecated: remove for 4.1
def
git_bin_path
def
git_bin_path
ActiveSupport
::
Deprecation
.
warn
(
"Settings.git_bin_path is deprecated and will be removed from GitLab 4.1"
,
caller
)
git
.
bin_path
rescue
Settingslogic
::
MissingSetting
git
[
'path'
]
||
'/usr/bin/git'
git
[
'path'
]
||
'/usr/bin/git'
end
end
# FIXME: Deprecated: remove for 4.1
def
git_max_size
def
git_max_size
ActiveSupport
::
Deprecation
.
warn
(
"Settings.git_max_size is deprecated and will be removed from GitLab 4.1"
,
caller
)
git
.
max_size
rescue
Settingslogic
::
MissingSetting
git
[
'git_max_size'
]
||
5242880
# 5.megabytes
git
[
'git_max_size'
]
||
5242880
# 5.megabytes
end
end
# FIXME: Deprecated: remove for 4.1
def
git_timeout
def
git_timeout
ActiveSupport
::
Deprecation
.
warn
(
"Settings.git_timeout is deprecated and will be removed from GitLab 4.1"
,
caller
)
git
.
timeout
rescue
Settingslogic
::
MissingSetting
git
[
'git_timeout'
]
||
10
git
[
'git_timeout'
]
||
10
end
end
# FIXME: Deprecated: remove for 4.1
def
gitolite_admin_uri
def
gitolite_admin_uri
ActiveSupport
::
Deprecation
.
warn
(
"Settings.gitolite_admin_uri is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
admin_uri
rescue
Settingslogic
::
MissingSetting
git_host
[
'admin_uri'
]
||
'git@localhost:gitolite-admin'
git_host
[
'admin_uri'
]
||
'git@localhost:gitolite-admin'
end
end
# FIXME: Deprecated: remove for 4.1
def
gitolite_config_file
def
gitolite_config_file
ActiveSupport
::
Deprecation
.
warn
(
"Settings.gitolite_config_file is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
config_file
rescue
Settingslogic
::
MissingSetting
git_host
[
'config_file'
]
||
'gitolite.conf'
git_host
[
'config_file'
]
||
'gitolite.conf'
end
end
# FIXME: Deprecated: remove for 4.1
def
gitolite_admin_key
def
gitolite_admin_key
ActiveSupport
::
Deprecation
.
warn
(
"Settings.gitolite_admin_key is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitolite
.
admin_key
rescue
Settingslogic
::
MissingSetting
git_host
[
'gitolite_admin_key'
]
||
'gitlab'
git_host
[
'gitolite_admin_key'
]
||
'gitlab'
end
end
# FIXME: Deprecated: remove for 4.1
def
default_projects_limit
def
default_projects_limit
ActiveSupport
::
Deprecation
.
warn
(
"Settings.default_projects_limit is deprecated and will be removed from GitLab 4.1"
,
caller
)
gitlab
.
default_projects_limit
rescue
Settingslogic
::
MissingSetting
app
[
'default_projects_limit'
]
||
10
app
[
'default_projects_limit'
]
||
10
end
end
# FIXME: Deprecated: remove for 4.1
def
backup_path
def
backup_path
t
=
app
[
'backup_path'
]
||
"backups/"
ActiveSupport
::
Deprecation
.
warn
(
"Settings.backup_path is deprecated and will be removed from GitLab 4.1"
,
caller
)
t
=
/^\//
.
match
(
t
)
?
t
:
Rails
.
root
.
join
(
t
)
backup
.
path
t
rescue
Settingslogic
::
MissingSetting
File
.
expand_path
(
app
[
'backup_path'
]
||
"backups/"
,
Rails
.
root
)
end
end
# FIXME: Deprecated: remove for 4.1
def
backup_keep_time
def
backup_keep_time
ActiveSupport
::
Deprecation
.
warn
(
"Settings.backup_keep_time is deprecated and will be removed from GitLab 4.1"
,
caller
)
backup
.
keep_time
rescue
Settingslogic
::
MissingSetting
app
[
'backup_keep_time'
]
||
0
app
[
'backup_keep_time'
]
||
0
end
end
# FIXME: Deprecated: remove for 4.1
def
ldap_enabled?
def
ldap_enabled?
ldap
&&
ldap
[
'enabled'
]
ActiveSupport
::
Deprecation
.
warn
(
"Settings.ldap_enabled? is deprecated and will be removed from GitLab 4.1"
,
caller
)
ldap
.
enabled
rescue
Settingslogic
::
MissingSetting
rescue
Settingslogic
::
MissingSetting
false
false
end
end
# FIXME: Deprecated: remove for 4.1
def
omniauth_enabled?
def
omniauth_enabled?
omniauth
&&
omniauth
[
'enabled'
]
ActiveSupport
::
Deprecation
.
warn
(
"Settings.omniauth_enabled? is deprecated and will be removed from GitLab 4.1"
,
caller
)
omniauth
.
enabled
rescue
Settingslogic
::
MissingSetting
rescue
Settingslogic
::
MissingSetting
false
false
end
end
# FIXME: Deprecated: remove for 4.1
def
omniauth_providers
def
omniauth_providers
(
omniauth_enabled?
&&
omniauth
[
'providers'
])
||
[]
ActiveSupport
::
Deprecation
.
warn
(
"Settings.omniauth_providers is deprecated and will be removed from GitLab 4.1"
,
caller
)
omniauth
.
providers
rescue
Settingslogic
::
MissingSetting
[]
end
end
# FIXME: Deprecated: remove for 4.1
def
disable_gravatar?
def
disable_gravatar?
ActiveSupport
::
Deprecation
.
warn
(
"Settings.disable_gravatar? is deprecated and will be removed from GitLab 4.1"
,
caller
)
!
gravatar
.
enabled
rescue
Settingslogic
::
MissingSetting
app
[
'disable_gravatar'
]
||
false
app
[
'disable_gravatar'
]
||
false
end
end
# FIXME: Deprecated: remove for 4.1
def
gravatar_url
def
gravatar_url
ActiveSupport
::
Deprecation
.
warn
(
"Settings.gravatar_url is deprecated and will be removed from GitLab 4.1"
,
caller
)
gravatar
.
plain_url
rescue
Settingslogic
::
MissingSetting
app
[
'gravatar_url'
]
||
'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=mm'
app
[
'gravatar_url'
]
||
'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=mm'
end
end
# FIXME: Deprecated: remove for 4.1
def
gravatar_ssl_url
def
gravatar_ssl_url
ActiveSupport
::
Deprecation
.
warn
(
"Settings.gravatar_ssl_url is deprecated and will be removed from GitLab 4.1"
,
caller
)
gravatar
.
ssl_url
rescue
Settingslogic
::
MissingSetting
app
[
'gravatar_ssl_url'
]
||
'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=mm'
app
[
'gravatar_ssl_url'
]
||
'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=mm'
end
end
def
gitlab_on_non_standard_port?
!
[
443
,
80
].
include?
(
gitlab
.
port
.
to_i
)
end
private
def
build_gitolite_ssh_path_prefix
if
gitolite
.
ssh_port
!=
22
"ssh://
#{
gitolite
.
ssh_user
}
@
#{
gitolite
.
ssh_host
}
:
#{
gitolite
.
ssh_port
}
/"
else
"
#{
gitolite
.
ssh_user
}
@
#{
gitolite
.
ssh_host
}
:"
end
end
def
build_gitlab_url
if
gitlab_on_non_standard_port?
custom_port
=
":
#{
gitlab
.
port
}
"
else
custom_port
=
nil
end
[
gitlab
.
protocol
,
"://"
,
gitlab
.
host
,
custom_port
].
join
(
''
)
end
end
end
end
end
# Default settings
# FIXME: Deprecated: remove for 4.1
# all Settings.web ...
# all Settings.app ...
# all Settings.email ...
# all Settings.git_host ...
Settings
[
'pre_40_config'
]
||=
Settings
[
'web'
].
present?
Settings
[
'ldap'
]
||=
Settingslogic
.
new
({})
Settings
.
ldap
[
'enabled'
]
||=
false
Settings
[
'omniauth'
]
||=
Settingslogic
.
new
({})
Settings
.
omniauth
[
'enabled'
]
||=
false
Settings
.
omniauth
[
'providers'
]
||=
[]
Settings
[
'gitlab'
]
||=
Settingslogic
.
new
({})
Settings
.
gitlab
[
'default_projects_limit'
]
||=
Settings
.
pre_40_config
?
Settings
.
default_projects_limit
:
10
Settings
.
gitlab
[
'host'
]
||=
Settings
.
pre_40_config
?
Settings
.
web_host
:
'localhost'
Settings
.
gitlab
[
'https'
]
||=
Settings
.
pre_40_config
?
Settings
.
web
.
https
:
false
Settings
.
gitlab
[
'port'
]
||=
Settings
.
gitlab
.
https
?
443
:
80
Settings
.
gitlab
[
'protocol'
]
||=
Settings
.
gitlab
.
https
?
"https"
:
"http"
Settings
.
gitlab
[
'email_from'
]
||=
Settings
.
pre_40_config
?
Settings
.
email_from
:
"gitlab@
#{
Settings
.
gitlab
.
host
}
"
Settings
.
gitlab
[
'url'
]
||=
Settings
.
pre_40_config
?
Settings
.
url
:
Settings
.
send
(
:build_gitlab_url
)
Settings
[
'gravatar'
]
||=
Settingslogic
.
new
({})
Settings
.
gravatar
[
'enabled'
]
||=
Settings
.
pre_40_config
?
!
Settings
.
disable_gravatar?
:
true
Settings
.
gravatar
[
'plain_url'
]
||=
Settings
.
pre_40_config
?
Settings
.
gravatar_url
:
'http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=mm'
Settings
.
gravatar
[
'ssl_url'
]
||=
Settings
.
pre_40_config
?
Settings
.
gravatar_ssl_url
:
'https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=mm'
Settings
[
'gitolite'
]
||=
Settingslogic
.
new
({})
Settings
.
gitolite
[
'admin_key'
]
||=
Settings
.
pre_40_config
?
Settings
.
gitolite_admin_key
:
'gitlab'
Settings
.
gitolite
[
'admin_uri'
]
||=
Settings
.
pre_40_config
?
Settings
.
gitolite_admin_uri
:
'git@localhost:gitolite-admin'
Settings
.
gitolite
[
'config_file'
]
||=
Settings
.
pre_40_config
?
Settings
.
gitolite_config_file
:
'gitolite.conf'
Settings
.
gitolite
[
'hooks_path'
]
||=
Settings
.
pre_40_config
?
Settings
.
git_hooks_path
:
'/home/git/share/gitolite/hooks/'
Settings
.
gitolite
[
'receive_pack'
]
||=
Settings
.
pre_40_config
?
Settings
.
git_receive_pack
:
(
Settings
.
gitolite
[
'receive_pack'
]
!=
false
)
Settings
.
gitolite
[
'repos_path'
]
||=
Settings
.
pre_40_config
?
Settings
.
git_base_path
:
'/home/git/repositories/'
Settings
.
gitolite
[
'upload_pack'
]
||=
Settings
.
pre_40_config
?
Settings
.
git_upload_pack
:
(
Settings
.
gitolite
[
'upload_pack'
]
!=
false
)
Settings
.
gitolite
[
'ssh_host'
]
||=
Settings
.
pre_40_config
?
Settings
.
ssh_host
:
(
Settings
.
gitlab
.
host
||
'localhost'
)
Settings
.
gitolite
[
'ssh_port'
]
||=
Settings
.
pre_40_config
?
Settings
.
ssh_port
:
22
Settings
.
gitolite
[
'ssh_user'
]
||=
Settings
.
pre_40_config
?
Settings
.
ssh_user
:
'git'
Settings
.
gitolite
[
'ssh_path_prefix'
]
||=
Settings
.
pre_40_config
?
Settings
.
ssh_path
:
Settings
.
send
(
:build_gitolite_ssh_path_prefix
)
Settings
[
'backup'
]
||=
Settingslogic
.
new
({})
Settings
.
backup
[
'keep_time'
]
||=
Settings
.
pre_40_config
?
Settings
.
backup_keep_time
:
0
Settings
.
backup
[
'path'
]
=
Settings
.
pre_40_config
?
Settings
.
backup_path
:
File
.
expand_path
(
Settings
.
backup
[
'path'
]
||
"tmp/backups/"
,
Rails
.
root
)
Settings
[
'git'
]
||=
Settingslogic
.
new
({})
Settings
.
git
[
'max_size'
]
||=
Settings
.
pre_40_config
?
Settings
.
git_max_size
:
5242880
# 5.megabytes
Settings
.
git
[
'bin_path'
]
||=
Settings
.
pre_40_config
?
Settings
.
git_bin_path
:
'/usr/bin/git'
Settings
.
git
[
'timeout'
]
||=
Settings
.
pre_40_config
?
Settings
.
git_timeout
:
10
Settings
.
git
[
'path'
]
||=
Settings
.
git
.
bin_path
# FIXME: Deprecated: remove for 4.1
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment