Sha256: 374c673363f38f8ded57739764dbea2995ad20cf6b96e034a0a634f1839ff9d2
Contents?: true
Size: 959 Bytes
Versions: 3
Compression:
Stored size: 959 Bytes
Contents
module CC module Analyzer class IssueLocationFormatValidation < Validation def valid? if location["lines"] valid_lines?(location["lines"]) elsif location["positions"] valid_positions?(location["positions"]) else false end end def message "Location is not formatted correctly" end private def location @location ||= object.fetch("location", {}) end def valid_positions?(positions) positions.is_a?(Hash) && valid_position?(positions["begin"]) && valid_position?(positions["end"]) end def valid_position?(position) position && ( (position["line"] && position["column"]) || position["offset"] ) end def valid_lines?(lines) lines.is_a?(Hash) && lines.key?("begin") && lines.key?("end") end end end end
Version data entries
3 entries across 3 versions & 1 rubygems