Module: Diffend::RequestVerdict
- Defined in:
- lib/diffend/request_verdict.rb
Overview
Module responsible for fetching diffend verdict on local context
Constant Summary collapse
- RESOLVE_EXCEPTIONS =
Exceptions that we handle when there is a resolve issue
[ ::Bundler::GemNotFound, ::Bundler::GitError, ::Bundler::PermissionError, ::Bundler::VersionConflict ].freeze
Class Method Summary collapse
Class Method Details
.build_request_object(config, payload) ⇒ Diffend::RequestObject
43 44 45 46 47 48 49 50 |
# File 'lib/diffend/request_verdict.rb', line 43 def build_request_object(config, payload) Diffend::RequestObject.new( config, config.commands_url, payload, :post ) end |
.call(config, definition) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/diffend/request_verdict.rb', line 19 def call(config, definition) payload = Diffend::LocalContext.call(config, definition) response = Diffend::Request.call( build_request_object(config, payload) ) JSON.parse(response.body) rescue *RESOLVE_EXCEPTIONS raise ::Diffend::Errors::DependenciesResolveException rescue StandardError => e Diffend::HandleErrors::Report.call( exception: e, payload: payload || {}, config: config, message: :unhandled_exception, report: true ) end |