class Object

Constants

DEFAULT_CONFIGURATION
DEFAULT_IGNORES
DEFAULT_MAX_WIDTH
UNLIMITED

Public Class Methods

check(filename, configuration = nil) click to toggle source
# File lib/cowl.rb, line 122
def self.check(filename, configuration = nil)
    configuration =
    if configuration.nil?
        DEFAULT_CONFIGURATION
    else
        configuration
    end

    max_width = configuration['max_width']
    is_stat = configuration['is_stat']
    if max_width != UNLIMITED
        output = `grep -n \'^.\\{#{max_width.to_i + 1},\\}$\' \"#{filename}\"`

        lines = output.split("\n").reject { |line| line =~ /^Binary file/ }

        widenings = lines.map { |line| Widening.parse(filename, line) }

        widenings.each { |m| puts m }
    end
end
check_stdin(configuration = nil) { |to_finding| ... } click to toggle source
# File lib/cowl.rb, line 86
def self.check_stdin(configuration = nil)
    configuration =
    if configuration.nil?
        DEFAULT_CONFIGURATION
    else
        configuration
    end

    max_width = configuration['max_width']
    is_stat = configuration['is_stat']

    contents = $stdin.read

    t = Tempfile.new('cowl')
    t.write(contents)
    t.close

    filename = t.path

    if max_width != UNLIMITED
        output = `grep -n \'^.\\{#{max_width.to_i + 1},\\}$\' \"#{filename}\"`

        lines = output.split("\n").reject { |line| line =~ /^Binary file/ }

        widenings = lines.map { |line| Widening.parse('stdin', line) }

        if is_stat
            widenings.each { |finding|
                yield finding.to_finding
            }
        else
            widenings.each { |m| puts m }
        end
    end
end