Sha256: ddb3e72333e421b861c08e88c8b77c83da3c9d33e0e1df0b07e29f469ab83bb2

Contents?: true

Size: 774 Bytes

Versions: 1

Compression:

Stored size: 774 Bytes

Contents

class Parser

  ANYTHINGS = %w[([^\"]*) ([^"]+) ([^"]*) (.*) (.*?) [^"]+ ([^\"]+) ([^']*)
    ([^\/]*) (.+) (.*[^:]) (.+?) .+].map &Regexp.method(:escape)

  def self.human_regex(regex)
    regex.
      sub(/^\(?\/\^?/, ''). # Strip Regex beginning
      sub(/\$?\/\)?$/, ''). # Strip Regex end
      gsub(' ?', ' ').
      gsub('(?:|I )', 'I ').
      gsub('(?:', '(').
      gsub(Regexp.new(Regexp.escape '(\d+)(st|nd|rd|th)'), '<nth>').
      gsub(Regexp.new(ANYTHINGS.join '|'), '...').
      gsub(/\\\//, '/')
  end

  def self.format_comment(comment)
    comment.gsub! /.*coding:.*UTF-8.*/, ''
    comment.strip!
    comment_lines = comment.split("\n").take_while { |line| line =~ /^\s*#/ }
    comment_lines && comment_lines.join("\n").gsub(/^\s*# ?/, '')
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spreewald-1.6.0 support/parser.rb