Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import os
from typing import List, Optional

from cycode.cli.files_collector.sca.base_restore_dependencies import BaseRestoreDependencies
from cycode.cli.models import Document

RUBY_PROJECT_FILE_EXTENSIONS = ['Gemfile']
RUBY_LOCK_FILE_NAME = 'Gemfile.lock'


class RestoreRubyDependencies(BaseRestoreDependencies):
def is_project(self, document: Document) -> bool:
return any(document.path.endswith(ext) for ext in RUBY_PROJECT_FILE_EXTENSIONS)

def get_commands(self, manifest_file_path: str) -> List[List[str]]:
return [['bundle', '--quiet']]

def get_lock_file_name(self) -> str:
return RUBY_LOCK_FILE_NAME

def verify_restore_file_already_exist(self, restore_file_path: str) -> bool:
return os.path.isfile(restore_file_path)

def get_working_directory(self, document: Document) -> Optional[str]:
return os.path.dirname(document.absolute_path)
2 changes: 2 additions & 0 deletions cycode/cli/files_collector/sca/sca_code_scanner.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from cycode.cli.files_collector.sca.maven.restore_maven_dependencies import RestoreMavenDependencies
from cycode.cli.files_collector.sca.npm.restore_npm_dependencies import RestoreNpmDependencies
from cycode.cli.files_collector.sca.nuget.restore_nuget_dependencies import RestoreNugetDependencies
from cycode.cli.files_collector.sca.ruby.restore_ruby_dependencies import RestoreRubyDependencies
from cycode.cli.files_collector.sca.sbt.restore_sbt_dependencies import RestoreSbtDependencies
from cycode.cli.models import Document
from cycode.cli.utils.git_proxy import git_proxy
Expand Down Expand Up @@ -138,6 +139,7 @@ def restore_handlers(context: click.Context, is_git_diff: bool) -> List[BaseRest
RestoreGoDependencies(context, is_git_diff, BUILD_DEP_TREE_TIMEOUT),
RestoreNugetDependencies(context, is_git_diff, BUILD_DEP_TREE_TIMEOUT),
RestoreNpmDependencies(context, is_git_diff, BUILD_DEP_TREE_TIMEOUT),
RestoreRubyDependencies(context, is_git_diff, BUILD_DEP_TREE_TIMEOUT),
]


Expand Down
Loading