class FlutterAnalyzeParser

Public Class Methods

violations(input) click to toggle source
# File lib/flutter_analyze_parser.rb, line 5
def violations(input)
  filtered_input = filter_input(input)

  return [] if filtered_input.detect { |element| element.include? "No issues found!" }

  filtered_input
    .select { |line| line.start_with? "info" }
    .map(&method(:parse_line))
end

Private Class Methods

filter_input(input) click to toggle source
# File lib/flutter_analyze_parser.rb, line 17
def filter_input(input)
  input.each_line
    .map(&:strip)
    .reject(&:empty?)
end
parse_line(line) click to toggle source
# File lib/flutter_analyze_parser.rb, line 23
def parse_line(line)
  _, description, file_with_line_number, rule = line.split(" • ")
  file, line = file_with_line_number.split(":")

  FlutterViolation.new(rule, description, file, line.to_i)
end