class WssAgent::ResponsePolicies
Constants
- REJECT_ACTION
Public Instance Methods
add_resource(resource)
click to toggle source
# File lib/wss_agent/response_policies.rb, line 58 def add_resource(resource) @policy_violations ||= [] @policy_violations << resource end
check(resource)
click to toggle source
# File lib/wss_agent/response_policies.rb, line 63 def check(resource) if resource.key?('resource') && resource.key?('policy') && (resource['policy']['actionType'] == REJECT_ACTION) add_resource( 'resource' => resource['resource'], 'policy' => resource['policy'] ) end if resource.key?('children') && resource['children'].is_a?(Array) resource['children'].each { |j| check(j) } end end
check_existing_projects()
click to toggle source
# File lib/wss_agent/response_policies.rb, line 50 def check_existing_projects data['existingProjects'].each { |_proj_name, resource| check(resource) } end
check_new_projects()
click to toggle source
# File lib/wss_agent/response_policies.rb, line 54 def check_new_projects data['newProjects'].each { |_proj_name, resource| check(resource) } end
message()
click to toggle source
# File lib/wss_agent/response_policies.rb, line 23 def message if success? if policy_violations? @message = [ 'Some dependencies do not conform with open source policies', 'List of violations:' ] @message << policy_violations.each_with_index.map { |j, i| "#{i + 1}. Package: #{j['resource']['displayName']} - #{j['policy']['displayName']}" }.join("\n") @message.join("\n") else 'All dependencies conform with open source policies' end end end
parse_response()
click to toggle source
# File lib/wss_agent/response_policies.rb, line 5 def parse_response if response.success? begin @response_data = MultiJson.load(response.body) @status = @response_data['status'].to_i @message = @response_data['message'] check_new_projects check_existing_projects rescue @status = SERVER_ERROR_STATUS @message = response.body end else @status = SERVER_ERROR_STATUS @message = response.body end end
policy_violations()
click to toggle source
# File lib/wss_agent/response_policies.rb, line 40 def policy_violations @policy_violations || [] end
policy_violations?()
click to toggle source
# File lib/wss_agent/response_policies.rb, line 44 def policy_violations? !policy_violations.nil? && !policy_violations.empty? && policy_violations.size > 0 end