BigW Consortium Gitlab
1. Don't use case statements for dispatch anymore. This leads to a lot of duplication, and makes the logic harder to follow. 2. Remove duplicated logic. - For example, the `can_push_to_branch?` exists, but we also have a different way of checking the same condition within `change_access_check`. - This kind of duplication is removed, and the `can_push_to_branch?` method is used in both places. 3. Move checks returning true/false to `UserAccess`. - All public methods in `GitAccess` now return an instance of `GitAccessStatus`. Previously, some methods would return true/false as well, which was confusing. - It makes sense for these kinds of checks to be at the level of a user, so the `UserAccess` class was repurposed for this. The prior `UserAccess.allowed?` classmethod is converted into an instance method. - All external uses of these checks have been migrated to use the `UserAccess` class 4. Move the "change_access_check" into a separate class. - Create the `GitAccess::ChangeAccessCheck` class to run these checks, which are quite substantial. - `ChangeAccessCheck` returns an instance of `GitAccessStatus` as well. 5. Break out the boolean logic in `ChangeAccessCheck` into `if/else` chains - this seems more readable. 6. I can understand that this might look like overkill for !4892, but I think this is a good opportunity to clean it up. - http://martinfowler.com/bliki/OpportunisticRefactoring.html
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
auth | Loading commit data... | |
backend | Loading commit data... | |
badge | Loading commit data... | |
bitbucket_import | Loading commit data... | |
checks | Loading commit data... | |
ci | Loading commit data... | |
database | Loading commit data... | |
diff | Loading commit data... | |
Loading commit data... | ||
fogbugz_import | Loading commit data... | |
gfm | Loading commit data... | |
git | Loading commit data... | |
git_access | Loading commit data... | |
github_import | Loading commit data... | |
gitlab_import | Loading commit data... | |
gitorious_import | Loading commit data... | |
google_code_import | Loading commit data... | |
graphs | Loading commit data... | |
import_export | Loading commit data... | |
ldap | Loading commit data... | |
lfs | Loading commit data... | |
markdown | Loading commit data... | |
metrics | Loading commit data... | |
middleware | Loading commit data... | |
o_auth | Loading commit data... | |
saml | Loading commit data... | |
sanitizers | Loading commit data... | |
sherlock | Loading commit data... | |
sidekiq_middleware | Loading commit data... | |
sql | Loading commit data... | |
template | Loading commit data... | |
access.rb | Loading commit data... | |
akismet_helper.rb | Loading commit data... | |
app_logger.rb | Loading commit data... | |
asciidoc.rb | Loading commit data... | |
auth.rb | Loading commit data... | |
award_emoji.rb | Loading commit data... | |
bitbucket_import.rb | Loading commit data... | |
blame.rb | Loading commit data... | |
build_data_builder.rb | Loading commit data... | |
closing_issue_extractor.rb | Loading commit data... | |
color_schemes.rb | Loading commit data... | |
config_helper.rb | Loading commit data... | |
contributions_calendar.rb | Loading commit data... | |
contributor.rb | Loading commit data... | |
current_settings.rb | Loading commit data... | |
database.rb | Loading commit data... | |
devise_failure.rb | Loading commit data... | |
emoji.rb | Loading commit data... | |
exclusive_lease.rb | Loading commit data... | |
force_push_check.rb | Loading commit data... | |
git.rb | Loading commit data... | |
git_access.rb | Loading commit data... | |
git_access_status.rb | Loading commit data... | |
git_access_wiki.rb | Loading commit data... | |
git_logger.rb | Loading commit data... | |
git_post_receive.rb | Loading commit data... | |
git_ref_validator.rb | Loading commit data... | |
gitorious_import.rb | Loading commit data... | |
gl_id.rb | Loading commit data... | |
gon_helper.rb | Loading commit data... | |
highlight.rb | Loading commit data... | |
identifier.rb | Loading commit data... | |
import_export.rb | Loading commit data... | |
import_formatter.rb | Loading commit data... | |
import_sources.rb | Loading commit data... | |
incoming_email.rb | Loading commit data... | |
issues_labels.rb | Loading commit data... | |
key_fingerprint.rb | Loading commit data... | |
lazy.rb | Loading commit data... | |
logger.rb | Loading commit data... | |
markup_helper.rb | Loading commit data... | |
metrics.rb | Loading commit data... | |
note_data_builder.rb | Loading commit data... | |
other_markup.rb | Loading commit data... | |
popen.rb | Loading commit data... | |
production_logger.rb | Loading commit data... | |
project_search_results.rb | Loading commit data... | |
protocol_access.rb | Loading commit data... | |
push_data_builder.rb | Loading commit data... | |
recaptcha.rb | Loading commit data... | |
redis.rb | Loading commit data... | |
reference_extractor.rb | Loading commit data... | |
regex.rb | Loading commit data... | |
repository_check_logger.rb | Loading commit data... | |
routing.rb | Loading commit data... | |
search_results.rb | Loading commit data... | |
seeder.rb | Loading commit data... | |
sherlock.rb | Loading commit data... | |
sidekiq_logger.rb | Loading commit data... | |
snippet_search_results.rb | Loading commit data... | |
themes.rb | Loading commit data... | |
timeless.rb | Loading commit data... | |
upgrader.rb | Loading commit data... | |
uploads_transfer.rb | Loading commit data... | |
url_builder.rb | Loading commit data... | |
url_sanitizer.rb | Loading commit data... | |
user_access.rb | Loading commit data... | |
utils.rb | Loading commit data... | |
version_info.rb | Loading commit data... | |
visibility_level.rb | Loading commit data... | |
workhorse.rb | Loading commit data... |