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
Boxiang Sun
gitlab-ce
Commits
e96b8ef4
Commit
e96b8ef4
authored
Mar 14, 2019
by
Rémy Coutable
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New Repository#insights_config method
Signed-off-by:
Rémy Coutable
<
remy@rymai.me
>
parent
0be93623
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
36 additions
and
3 deletions
+36
-3
app/models/repository.rb
app/models/repository.rb
+9
-2
lib/gitlab/file_detector.rb
lib/gitlab/file_detector.rb
+1
-0
spec/lib/gitlab/file_detector_spec.rb
spec/lib/gitlab/file_detector_spec.rb
+4
-0
spec/models/repository_spec.rb
spec/models/repository_spec.rb
+22
-1
No files found.
app/models/repository.rb
View file @
e96b8ef4
...
@@ -39,7 +39,8 @@ class Repository
...
@@ -39,7 +39,8 @@ class Repository
changelog license_blob license_key gitignore
changelog license_blob license_key gitignore
gitlab_ci_yml branch_names tag_names branch_count
gitlab_ci_yml branch_names tag_names branch_count
tag_count avatar exists? root_ref has_visible_content?
tag_count avatar exists? root_ref has_visible_content?
issue_template_names merge_request_template_names xcode_project?)
.
freeze
issue_template_names merge_request_template_names xcode_project?
insights_config)
.
freeze
# Methods that use cache_method but only memoize the value
# Methods that use cache_method but only memoize the value
MEMOIZED_CACHED_METHODS
=
%i(license)
.
freeze
MEMOIZED_CACHED_METHODS
=
%i(license)
.
freeze
...
@@ -57,7 +58,8 @@ class Repository
...
@@ -57,7 +58,8 @@ class Repository
avatar: :avatar
,
avatar: :avatar
,
issue_template: :issue_template_names
,
issue_template: :issue_template_names
,
merge_request_template: :merge_request_template_names
,
merge_request_template: :merge_request_template_names
,
xcode_config: :xcode_project?
xcode_config: :xcode_project?
,
insights_config: :insights_config
}.
freeze
}.
freeze
def
initialize
(
full_path
,
project
,
disk_path:
nil
,
is_wiki:
false
)
def
initialize
(
full_path
,
project
,
disk_path:
nil
,
is_wiki:
false
)
...
@@ -663,6 +665,11 @@ class Repository
...
@@ -663,6 +665,11 @@ class Repository
end
end
cache_method
:xcode_project?
cache_method
:xcode_project?
def
insights_config
file_on_head
(
:insights_config
)
end
cache_method
:insights_config
def
head_commit
def
head_commit
@head_commit
||=
commit
(
self
.
root_ref
)
@head_commit
||=
commit
(
self
.
root_ref
)
end
end
...
...
lib/gitlab/file_detector.rb
View file @
e96b8ef4
...
@@ -22,6 +22,7 @@ module Gitlab
...
@@ -22,6 +22,7 @@ module Gitlab
gitignore:
'.gitignore'
,
gitignore:
'.gitignore'
,
gitlab_ci:
'.gitlab-ci.yml'
,
gitlab_ci:
'.gitlab-ci.yml'
,
route_map:
'.gitlab/route-map.yml'
,
route_map:
'.gitlab/route-map.yml'
,
insights_config:
'.gitlab/insights.yml'
,
# Dependency files
# Dependency files
cartfile:
%r{
\A
Cartfile[^/]*
\z
}
,
cartfile:
%r{
\A
Cartfile[^/]*
\z
}
,
...
...
spec/lib/gitlab/file_detector_spec.rb
View file @
e96b8ef4
...
@@ -77,6 +77,10 @@ describe Gitlab::FileDetector do
...
@@ -77,6 +77,10 @@ describe Gitlab::FileDetector do
expect
(
described_class
.
type_of
(
'.gitlab/merge_request_templates/foo.md'
)).
to
eq
(
:merge_request_template
)
expect
(
described_class
.
type_of
(
'.gitlab/merge_request_templates/foo.md'
)).
to
eq
(
:merge_request_template
)
end
end
it
'returns the type of an Insights config file'
do
expect
(
described_class
.
type_of
(
'.gitlab/insights.yml'
)).
to
eq
(
:insights_config
)
end
it
'returns nil for an unknown file'
do
it
'returns nil for an unknown file'
do
expect
(
described_class
.
type_of
(
'foo.txt'
)).
to
be_nil
expect
(
described_class
.
type_of
(
'foo.txt'
)).
to
be_nil
end
end
...
...
spec/models/repository_spec.rb
View file @
e96b8ef4
...
@@ -1616,7 +1616,8 @@ describe Repository do
...
@@ -1616,7 +1616,8 @@ describe Repository do
:has_visible_content?
,
:has_visible_content?
,
:issue_template_names
,
:issue_template_names
,
:merge_request_template_names
,
:merge_request_template_names
,
:xcode_project?
:xcode_project?
,
:insights_config
])
])
repository
.
after_change_head
repository
.
after_change_head
...
@@ -1882,6 +1883,26 @@ describe Repository do
...
@@ -1882,6 +1883,26 @@ describe Repository do
end
end
end
end
describe
"#insights_config"
,
:use_clean_rails_memory_store_caching
do
it
'returns a valid Insights config file'
do
files
=
[
TestBlob
.
new
(
'file'
),
TestBlob
.
new
(
'.gitlab/insights.yml'
)]
expect
(
repository
.
tree
).
to
receive
(
:blobs
).
and_return
(
files
)
expect
(
repository
.
insights_config
.
path
).
to
eq
(
'.gitlab/insights.yml'
)
end
it
'returns nil if does not exist'
do
expect
(
repository
.
tree
).
to
receive
(
:blobs
).
and_return
([])
expect
(
repository
.
insights_config
).
to
be_nil
end
it
'returns nil for an empty repository'
do
allow
(
repository
).
to
receive
(
:root_ref
).
and_raise
(
Gitlab
::
Git
::
Repository
::
NoRepository
)
expect
(
repository
.
insights_config
).
to
be_nil
end
end
describe
"#keep_around"
do
describe
"#keep_around"
do
it
"does not fail if we attempt to reference bad commit"
do
it
"does not fail if we attempt to reference bad commit"
do
expect
(
repository
.
kept_around?
(
'abc1234'
)).
to
be_falsey
expect
(
repository
.
kept_around?
(
'abc1234'
)).
to
be_falsey
...
...
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