Class: Packages::Conan::CreatePackageFileService
- Inherits:
-
Object
- Object
- Packages::Conan::CreatePackageFileService
- Defined in:
- app/services/packages/conan/create_package_file_service.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(package, file, params) ⇒ CreatePackageFileService
constructor
A new instance of CreatePackageFileService.
Constructor Details
#initialize(package, file, params) ⇒ CreatePackageFileService
Returns a new instance of CreatePackageFileService.
6 7 8 9 10 |
# File 'app/services/packages/conan/create_package_file_service.rb', line 6 def initialize(package, file, params) @package = package @file = file @params = params end |
Instance Method Details
#execute ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/services/packages/conan/create_package_file_service.rb', line 12 def execute package_file = nil ApplicationRecord.transaction do package_file = package.package_files.build( file: file, size: params['file.size'], file_name: params[:file_name], file_sha1: params['file.sha1'], file_md5: params['file.md5'], conan_file_metadatum_attributes: { conan_package_reference: params[:conan_package_reference], conan_file_type: params[:conan_file_type], package_reference_id: package_reference_id } ) if params[:build].present? package_file.package_file_build_infos << package_file.package_file_build_infos.build(pipeline: params[:build].pipeline) end package_file.save! end ServiceResponse.success(payload: { package_file: package_file }) rescue ActiveRecord::RecordInvalid => e ServiceResponse.error(message: e., reason: :invalid_package_file) end |