module Doxyparser::Util

Public Class Methods

escape_const_ref_ptr(typename) click to toggle source
# File lib/util.rb, line 25
def self.escape_const_ref_ptr(typename)
  typename.gsub(/^ *const /,'').gsub(/ +(const)* *[&*]* *(const)* *$/,'').strip
end
home_dir() click to toggle source
# File lib/util.rb, line 5
def self.home_dir
  File.expand_path('..', File.dirname(__FILE__))
end
read_file(file_name) click to toggle source
# File lib/util.rb, line 54
def self.read_file(file_name)
  file = File.open(file_name, "r")
  data = file.read
  file.close
  return data
end
write_file(file_name, data) click to toggle source
# File lib/util.rb, line 61
def self.write_file(file_name, data)
  file = File.open(file_name, "w")
  count = file.write(data)
  file.close
  return count
end

Public Instance Methods

del_prefix_class(n) click to toggle source
# File lib/util.rb, line 29
def del_prefix_class(n) # Previuously escaped for const
         n.gsub(%r{^[^<]*[:]}, "")
end
del_prefix_file(n) click to toggle source
# File lib/util.rb, line 33
def del_prefix_file(n)
         n.gsub(%r{/$}, "")
         n.gsub(%r{.*[/]}, "")
end
del_spaces(n) click to toggle source
# File lib/util.rb, line 9
def del_spaces(n)
  n.gsub(/\s+/, "")
end
do_filter(filter, lst, clazz) { |node| ... } click to toggle source
# File lib/util.rb, line 68
def do_filter(filter, lst, clazz)
  if filter
    filtered_lst = []
    filter.each { |val|
      found = lst.select { |node| match(val, yield(node)) }
      unless found.nil? || found.empty?
              filtered_lst.push(*found)
      end
            #puts "The object: #{val} #{clazz} could not be found while parsing" # TODO Log this?
    }
  else
  filtered_lst=lst
  end
  filtered_lst.map { |node| clazz.new(parent: self, node: node) }
end
escape_all(typename) click to toggle source
# File lib/util.rb, line 13
def escape_all(typename)
    return del_prefix_class(escape_template(escape_const_ref_ptr(typename)))
end
escape_class_name(filename) click to toggle source
# File lib/util.rb, line 46
def escape_class_name(filename)
  if filename.include? '::'
    return filename.gsub('::','_1_1')
  else
    return filename.gsub('_1_1','::')
  end
end
escape_const_ref_ptr(typename) click to toggle source
# File lib/util.rb, line 21
def escape_const_ref_ptr(typename)
  typename.gsub(/^ *const /,'').gsub(/ +(const)* *[&*]* *(const)* *$/,'').strip
end
escape_file_name(filename) click to toggle source
# File lib/util.rb, line 38
def escape_file_name(filename)
  if filename =~ %r{[\./]}
    return filename.gsub('.', '_8').gsub('/', '_2')
  else
    return filename.gsub('_8', '.').gsub('_2', '/')
  end
end
escape_template(typename) click to toggle source
# File lib/util.rb, line 17
def escape_template(typename)
  typename.gsub(/<.+$/,'').strip
end
match(val, aux_name) click to toggle source
# File lib/util.rb, line 84
def match(val, aux_name)
  if val.is_a?(Regexp)
  return aux_name =~ val
  else
  return aux_name == val
  end
end