Class: Dyndoc::TagManager
- Inherits:
-
Object
- Object
- Dyndoc::TagManager
- Defined in:
- lib/dyndoc/base/tags/tag_mngr.rb
Class Method Summary collapse
- .append(partTag, tags) ⇒ Object
-
.apply_alias(tags, aliases) ⇒ Object
partTag is modified at the end!.
- .global_alias(aliases) ⇒ Object
- .init_input_tag(tag) ⇒ Object
- .init_input_tags(tags) ⇒ Object
- .local_alias(aliases, input) ⇒ Object
-
.make_alias(aliases, alias_lines) ⇒ Object
alias_lines= array of lines of the form “alias1,…,aliasN=tag1,…,tagP”.
- .make_tags(str) ⇒ Object
- .pre_tag(tag) ⇒ Object
- .tags_ok?(part, partTag) ⇒ Boolean
Class Method Details
.append(partTag, tags) ⇒ Object
32 33 34 35 36 |
# File 'lib/dyndoc/base/tags/tag_mngr.rb', line 32 def TagManager.append(partTag,) #puts "partTag";p partTag #puts "tags";p tags partTag.each_key{|o| partTag[o]+=} end |
.apply_alias(tags, aliases) ⇒ Object
partTag is modified at the end!
27 28 29 |
# File 'lib/dyndoc/base/tags/tag_mngr.rb', line 27 def TagManager.apply_alias(,aliases) #partTag is modified at the end! .replace(.map{|e| ( (aliases.keys.include? e) ? aliases[e] : e )}.flatten.uniq) end |
.global_alias(aliases) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/dyndoc/base/tags/tag_mngr.rb', line 11 def TagManager.global_alias(aliases) ## global aliases @@alias="" @@etc_alias=File.join(Dyndoc.cfg_dir[:etc],"alias") @@alias << File.read(@@etc_alias).chomp << "\n" if File.exists? @@etc_alias if Dyndoc.cfg_dir[:file] @@file_alias=File.join(Dyndoc.cfg_dir[:file],'.dyn_alias') @@alias << File.read(@@file_alias).chomp << "\n" if File.exists? @@file_alias end TagManager.make_alias(aliases,@@alias.chomp.split("\n")) end |
.init_input_tag(tag) ⇒ Object
def TagManager.tags_ok?(part,partTag)
part[0]=part[0][1..-1] if (neg=(part[0][0,1] == "-"))
tmp= (partTag & part).empty?
tmp = !tmp unless neg
puts “last”;p part;p tmp
return tmp
end
def TagManager.init_input_tags(tags)
return tags
end
52 53 54 55 56 |
# File 'lib/dyndoc/base/tags/tag_mngr.rb', line 52 def TagManager.init_input_tag(tag) res=/#{"^"+tag.gsub(/\*\*:/,"[\\w\\d\\-_:]_STAR_:").gsub(/\*:/,"[\\w\\d\\-_]_STAR_:").gsub(/_STAR_/,"*")+"$"}/ #p res res end |
.init_input_tags(tags) ⇒ Object
58 59 60 61 62 |
# File 'lib/dyndoc/base/tags/tag_mngr.rb', line 58 def TagManager.() =.map{|t| (t.is_a?(String) ? TagManager.init_input_tag(t) : t ) } #puts "newtags";p new_tags return end |
.local_alias(aliases, input) ⇒ Object
23 24 25 |
# File 'lib/dyndoc/base/tags/tag_mngr.rb', line 23 def TagManager.local_alias(aliases,input) # @alias increased TagManager.make_alias(aliases,input.scan(/%%%alias\(([^\)]*)\)/).flatten) end |
.make_alias(aliases, alias_lines) ⇒ Object
alias_lines= array of lines of the form “alias1,…,aliasN=tag1,…,tagP”
5 6 7 8 9 |
# File 'lib/dyndoc/base/tags/tag_mngr.rb', line 5 def TagManager.make_alias(aliases,alias_lines) #alias_lines= array of lines of the form "alias1,...,aliasN=tag1,...,tagP" #p alias_lines alias_lines.map{|e| e.split(/[=>]/)}.map{|e,e2,e3| tmp=e.split(",").map{|ee| ee.strip};tmp2=e2.split(",").map{|ee| ee.strip}+tmp;tmp.map{|ee| aliases[ee] = tmp2}}.flatten #aliases updated! end |
.make_tags(str) ⇒ Object
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/dyndoc/base/tags/tag_mngr.rb', line 106 def TagManager.(str) ## Dyndoc.warn "make_tags",str if str.is_a? String TagManager.pre_tag(str) str.split(",").map{|e| e.strip}.map{|t| if t[0,1]=="-" t else tmp=t.split(":") (0...tmp.length).map{|i| tmp[0..i].join(":")} end }.flatten else str end end |
.pre_tag(tag) ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/dyndoc/base/tags/tag_mngr.rb', line 84 def TagManager.pre_tag(tag) # first, replace $(i) by $dyn_curtag[i] if $dyn_curtag new_tag=tag.gsub(/\$\d?/){|e| i=e[1..-1].to_i i-=1 if i>0 ($dyn_curtag[i] ? $dyn_curtag[i] : "") } else new_tag=tag.dup end #puts "new_tag";p new_tag #puts "$dyn_curtag";p $dyn_curtag # second, find $dyn_curtag curtag=new_tag.scan(/\([^\(]*\)/) $dyn_curtag=curtag.map{|e| e[1...-1]} unless curtag.empty? #puts "$dyn_curtag2";p $dyn_curtag new_tag.gsub!(/\([^\(]*\)/){|e| e[1...-1]} #puts "new_tag2";p new_tag return new_tag end |
.tags_ok?(part, partTag) ⇒ Boolean
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/dyndoc/base/tags/tag_mngr.rb', line 64 def TagManager.(part,partTag) ## Dyndoc.warn "tags_ok?",[part,partTag] return true if partTag.include? /^all$/ part[0]=part[0][1..-1] if (neg=(part[0][0,1] == "-")) tmp=false partTag.each{|t| #puts "t";p t part.each{|t2| #puts "t2";p t2 tmp=(t =~ t2) #puts "tmp";p tmp break if tmp } break if tmp } tmp = !tmp if neg #puts "last";p part;p partTag;p tmp return tmp end |