Module: Doxyparser::Util

Included in:
Node
Defined in:
lib/util.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.escape_const_ref_ptr(typename) ⇒ Object



25
26
27
# File 'lib/util.rb', line 25

def self.escape_const_ref_ptr(typename)
  typename.gsub(/^ *const /,'').gsub(/ +(const)* *[&*]* *(const)* *$/,'').strip
end

.home_dirObject



5
6
7
# File 'lib/util.rb', line 5

def self.home_dir
  File.expand_path('..', File.dirname(__FILE__))
end

.read_file(file_name) ⇒ Object



54
55
56
57
58
59
# 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) ⇒ Object



61
62
63
64
65
66
# 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

Instance Method Details

#del_prefix_class(n) ⇒ Object

Previuously escaped for const



29
30
31
# File 'lib/util.rb', line 29

def del_prefix_class(n) # Previuously escaped for const
  n.gsub(%r{^[^<]*[:]}, "")
end

#del_prefix_file(n) ⇒ Object



33
34
35
36
# File 'lib/util.rb', line 33

def del_prefix_file(n)
  n.gsub(%r{/$}, "")
  n.gsub(%r{.*[/]}, "")
end

#del_spaces(n) ⇒ Object



9
10
11
# File 'lib/util.rb', line 9

def del_spaces(n)
  n.gsub(/\s+/, "")
end

#do_filter(filter, lst, clazz) ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# 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) ⇒ Object



13
14
15
# 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) ⇒ Object



46
47
48
49
50
51
52
# 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) ⇒ Object



21
22
23
# File 'lib/util.rb', line 21

def escape_const_ref_ptr(typename)
  typename.gsub(/^ *const /,'').gsub(/ +(const)* *[&*]* *(const)* *$/,'').strip
end

#escape_file_name(filename) ⇒ Object



38
39
40
41
42
43
44
# 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) ⇒ Object



17
18
19
# File 'lib/util.rb', line 17

def escape_template(typename)
  typename.gsub(/<.+$/,'').strip
end

#match(val, aux_name) ⇒ Object



84
85
86
87
88
89
90
# 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