Class: Makit::V1::Services::RepositoryManagerServiceImpl
- Inherits:
-
RepositoryManagerService::Service
- Object
- RepositoryManagerService::Service
- Makit::V1::Services::RepositoryManagerServiceImpl
- Defined in:
- lib/makit/v1/services/repository_manager_service_impl.rb
Overview
Implementation of the RepositoryManagerService gRPC service
Instance Method Summary collapse
-
#clone_or_pull_repository(request, _unused_call) ⇒ Object
Clone repository if it doesn’t exist, otherwise pull latest changes.
-
#clone_repository(request, _unused_call) ⇒ Object
Clone a git repository to a local directory.
-
#create_repository_model(request, _unused_call) ⇒ Object
Create a new repository manager model with default values.
-
#get_latest_commit(request, _unused_call) ⇒ Object
Get the latest commit hash from a repository.
-
#get_repository_log(request, _unused_call) ⇒ Object
Get git log information for a repository.
-
#initialize_repository(request, _unused_call) ⇒ Object
Initialize a new git repository in the specified directory.
-
#pull_repository(request, _unused_call) ⇒ Object
Pull the latest changes from the remote repository.
-
#setup_work_directory(request, _unused_call) ⇒ Object
Set up a work directory for a repository.
-
#update_repository_model(request, _unused_call) ⇒ Object
Update an existing repository model.
-
#validate_clone_directory(request, _unused_call) ⇒ Object
Validate that a clone directory exists for the given repository.
Instance Method Details
#clone_or_pull_repository(request, _unused_call) ⇒ Object
Clone repository if it doesn’t exist, otherwise pull latest changes
33 34 35 36 37 |
# File 'lib/makit/v1/services/repository_manager_service_impl.rb', line 33 def clone_or_pull_repository(request, _unused_call) model = convert_from_proto_model(request.model) result_model = clone_or_pull_repository_impl(model, request.git_repository) convert_to_proto_model(result_model) end |
#clone_repository(request, _unused_call) ⇒ Object
Clone a git repository to a local directory
19 20 21 22 23 |
# File 'lib/makit/v1/services/repository_manager_service_impl.rb', line 19 def clone_repository(request, _unused_call) model = convert_from_proto_model(request.model) result_model = clone_repository_impl(model, request.git_repository) convert_to_proto_model(result_model) end |
#create_repository_model(request, _unused_call) ⇒ Object
Create a new repository manager model with default values
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/makit/v1/services/repository_manager_service_impl.rb', line 68 def create_repository_model(request, _unused_call) model = create_repository_model_impl( repository_url: request.repository_url, clone_directory: request.clone_directory, work_directory: request.work_directory, is_initialized: request.is_initialized, is_cloned: request.is_cloned, has_work_directory: request.has_work_directory, latest_commit_hash: request.latest_commit_hash, last_pull_time: (request.last_pull_time), last_clone_time: (request.last_clone_time), git_log_entries: convert_git_log_entries_from_proto(request.git_log_entries), command_results: convert_command_results_from_proto(request.command_results), validation_errors: request.validation_errors.to_a, configuration: request.configuration.to_h ) convert_to_proto_model(model) end |
#get_latest_commit(request, _unused_call) ⇒ Object
Get the latest commit hash from a repository
54 55 56 57 58 |
# File 'lib/makit/v1/services/repository_manager_service_impl.rb', line 54 def get_latest_commit(request, _unused_call) model = convert_from_proto_model(request.model) result_model = get_latest_commit_impl(model, request.clone_dir) convert_to_proto_model(result_model) end |
#get_repository_log(request, _unused_call) ⇒ Object
Get git log information for a repository
40 41 42 43 44 |
# File 'lib/makit/v1/services/repository_manager_service_impl.rb', line 40 def get_repository_log(request, _unused_call) model = convert_from_proto_model(request.model) result_model = get_repository_log_impl(model, request.git_repository, request.limit, request.skip) convert_to_proto_model(result_model) end |
#initialize_repository(request, _unused_call) ⇒ Object
Initialize a new git repository in the specified directory
12 13 14 15 16 |
# File 'lib/makit/v1/services/repository_manager_service_impl.rb', line 12 def initialize_repository(request, _unused_call) model = convert_from_proto_model(request.model) result_model = initialize_repository_impl(model, request.directory) convert_to_proto_model(result_model) end |
#pull_repository(request, _unused_call) ⇒ Object
Pull the latest changes from the remote repository
26 27 28 29 30 |
# File 'lib/makit/v1/services/repository_manager_service_impl.rb', line 26 def pull_repository(request, _unused_call) model = convert_from_proto_model(request.model) result_model = pull_repository_impl(model, request.git_repository) convert_to_proto_model(result_model) end |
#setup_work_directory(request, _unused_call) ⇒ Object
Set up a work directory for a repository
47 48 49 50 51 |
# File 'lib/makit/v1/services/repository_manager_service_impl.rb', line 47 def setup_work_directory(request, _unused_call) model = convert_from_proto_model(request.model) result_model = setup_work_directory_impl(model, request.repository) convert_to_proto_model(result_model) end |
#update_repository_model(request, _unused_call) ⇒ Object
Update an existing repository model
88 89 90 91 92 |
# File 'lib/makit/v1/services/repository_manager_service_impl.rb', line 88 def update_repository_model(request, _unused_call) model = convert_from_proto_model(request.model) result_model = update_repository_model_impl(model, request.updates.to_h) convert_to_proto_model(result_model) end |
#validate_clone_directory(request, _unused_call) ⇒ Object
Validate that a clone directory exists for the given repository
61 62 63 64 65 |
# File 'lib/makit/v1/services/repository_manager_service_impl.rb', line 61 def validate_clone_directory(request, _unused_call) model = convert_from_proto_model(request.model) result_model = validate_clone_directory_impl(model, request.url) convert_to_proto_model(result_model) end |