Module: Doxyparser::Util
- Included in:
- Node
- Defined in:
- lib/util.rb
Class Method Summary collapse
- .escape_const_ref_ptr(typename) ⇒ Object
- .home_dir ⇒ Object
- .read_file(file_name) ⇒ Object
- .write_file(file_name, data) ⇒ Object
Instance Method Summary collapse
-
#del_prefix_class(n) ⇒ Object
Previuously escaped for const.
- #del_prefix_file(n) ⇒ Object
- #del_spaces(n) ⇒ Object
- #do_filter(filter, lst, clazz) ⇒ Object
- #escape_all(typename) ⇒ Object
- #escape_class_name(filename) ⇒ Object
- #escape_const_ref_ptr(typename) ⇒ Object
- #escape_file_name(filename) ⇒ Object
- #escape_template(typename) ⇒ Object
- #match(val, aux_name) ⇒ Object
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_dir ⇒ Object
5 6 7 |
# File 'lib/util.rb', line 5 def self.home_dir File.('..', 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 |