code_zauker 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Rakefile CHANGED
@@ -1,4 +1,5 @@
1
1
  # -*- coding: utf-8 ; mode: ruby; -*-
2
+ # rvm use default will save your days
2
3
  require "bundler/gem_tasks"
3
4
 
4
5
  # See http://jasonseifer.com/2010/04/06/rake-tutorial
@@ -19,8 +20,16 @@ YARD::Rake::YardocTask.new do |t|
19
20
  #t.options = ['--any', '--extra', '--opts'] # optional
20
21
  end
21
22
 
22
- desc "Code Zauker default task for generating doucmentation, running tests and packing gem"
23
- task :default => [ :test, :yard, :build] do
23
+ desc "Code Zauker default task for generating documentation, running tests and packing gem"
24
+ task :default => [ :test, :yard] do
25
+ puts "Generating git Changelog..."
26
+ system('git log --pretty="|%ad|%s|" --date=short >CHANGELOG.org')
27
+ system('git status')
28
+ puts "Use cz_publish to release your work, Meganiod!"
29
+ puts " Koros"
24
30
  end
25
31
 
26
32
 
33
+ desc "Code Zauker Publisher"
34
+ task :cz_publish => [ :test, :yard, :build, :release] do
35
+ end
data/bin/czindexer CHANGED
@@ -5,7 +5,7 @@
5
5
  require 'optparse'
6
6
  options={}
7
7
  optparse= OptionParser.new do |opts|
8
- opts.banner="Usage: $0 [options] [file1] [file2]..."
8
+ opts.banner="Usage: czindexer [options] [file1] [file2]..."
9
9
  options[:verbose] = false
10
10
 
11
11
  opts.on( '-v', '--verbose', 'Output more information' ) do
@@ -18,8 +18,8 @@ optparse= OptionParser.new do |opts|
18
18
  end
19
19
 
20
20
  opts.on( '-h', '--help', 'Display this screen' ) do
21
- puts opts
22
- exit
21
+ puts opts
22
+ exit
23
23
  end
24
24
 
25
25
  #TODO ADD REMOVE ALL option
@@ -30,59 +30,66 @@ optparse.parse!
30
30
  require 'code_zauker'
31
31
 
32
32
 
33
- def processElement(l,fs,options)
33
+ def processElement(l,fs,options)
34
34
  #Remove trailing / from l before proceeding
35
- if l[-1]=="/"
36
- l=l.chop
37
- end
38
- if Dir.exists?(l)
39
- puts "Processing Dir #{l}" if options[:verbose]
40
- Dir["#{l}/*"].each do |elem|
41
- processElement(elem,fs,options)
42
- end
43
- # puts "Processing via find+xargs" if options[:verbose]
44
- # if options[:reindex]==false
45
- # system("find #{l} -type f -print0 | xargs -0 -P 7 -n 5 #{$0}")
46
- # else
47
- # system("find #{l} -type f -print0 | xargs -0 -P 7 -n 5 #{$0} -f ")
48
- # end
49
- else
50
- # avoid processing bad guys...
51
- toExclude=false
52
- CodeZauker::DEFAULT_EXCLUDED_EXTENSION.each do | ext |
53
- if l.end_with?(ext)
54
- toExclude=true
55
- break
56
- end
35
+ if l[-1]=="/"
36
+ l=l.chop
37
+ end
38
+ if Dir.exists?(l)
39
+ #puts "Processing Dir #{l}" if options[:verbose]
40
+ Dir["#{l}/*"].each do |elem|
41
+ processElement(elem,fs,options)
42
+ end
43
+ # puts "Processing via find+xargs" if options[:verbose]
44
+ # if options[:reindex]==false
45
+ # system("find #{l} -type f -print0 | xargs -0 -P 7 -n 5 #{$0}")
46
+ # else
47
+ # system("find #{l} -type f -print0 | xargs -0 -P 7 -n 5 #{$0} -f ")
48
+ # end
49
+ else
50
+ # avoid processing bad guys...
51
+ toExclude=false
52
+ CodeZauker::DEFAULT_EXCLUDED_EXTENSION.each do | ext |
53
+ if l.downcase().end_with?(ext)
54
+ toExclude=true
55
+ break
57
56
  end
58
- if !toExclude && !l.include?("/.hg/") && !l.include?("/CVS/") && !l.include?("/.svn/") && !l.include?("/.git/")
59
- #puts "Meganoids indexing #{l}"
60
- puts "Processing File #{l}" if options[:verbose]
61
- if options[:reindex] == true
62
- fs.reindex([l])
63
- else
64
- fs.load(l,noReload=true)
65
- end
66
- $PROCESSED_FILES+=1
57
+ end
58
+ if !toExclude && !l.include?("/.hg/") && !l.include?("/CVS/") && !l.include?("/.svn/") && !l.include?("/.git/")
59
+ #puts "Processing File #{l}" if options[:verbose]
60
+ startTime=Time.now
61
+ if options[:reindex] == true
62
+ fs.reindex([l])
67
63
  else
68
- puts "SKIPPED binary file: #{l}" if options[:verbose]
64
+ fs.load(l,noReload=true)
69
65
  end
70
- if options[:verbose]
71
- puts "czindexer: processed #{$PROCESSED_FILES} by this instance"
66
+ timeTaken=Time.now-startTime
67
+ $PROCESSED_FILES+=1
68
+ $CUMULATED_TIME +=timeTaken
69
+ $FILES_PER_SEC= $PROCESSED_FILES/$CUMULATED_TIME
70
+ if options[:verbose] and (( $PROCESSED_FILES % 75 ) == 0 )
71
+ puts "#{$PROCESSED_FILES} files processed so far... Files per sec:#{$FILES_PER_SEC} Last:#{timeTaken}"
72
72
  end
73
- end
73
+ else
74
+ #puts "SKIPPED binary file: #{l}" if options[:verbose]
75
+ end
76
+
77
+ end
74
78
  end
75
79
 
76
80
 
77
81
 
78
82
  begin
83
+ $CUMULATED_TIME=0
79
84
  # Allocated here to recycle connection
80
85
  fs=CodeZauker::FileScanner.new()
81
86
  $PROCESSED_FILES=0
87
+ puts "Code Zauker v#{CodeZauker::VERSION}" if options[:verbose]
82
88
  puts "Reindexing..." if options[:verbose]==true and options[:reindex]==true
83
89
  ARGV.each do | l |
84
90
  processElement(l,fs,options)
85
91
  end
86
92
  ensure
87
93
  fs.disconnect
94
+ puts "End:#{$PROCESSED_FILES} files Files per sec:#{$FILES_PER_SEC}"
88
95
  end
data/bin/czsearch CHANGED
@@ -6,14 +6,95 @@ require 'code_zauker'
6
6
  require 'code_zauker/grep'
7
7
  include Grep
8
8
 
9
+ require 'optparse'
10
+ options={}
11
+ optparse= OptionParser.new do |opts|
12
+ opts.banner="Usage: czsearch [options] [term1] [term2]..."
13
+ options[:ignorecase]=false
14
+ options[:precontext]=0
15
+ options[:postcontext]=0
16
+ options[:extensions_to_ignore]=[]
17
+ options[:file_to_exclude]=[]
18
+
19
+ opts.on('-i', '--ignore-case','ignore case distinctions') do
20
+ options[:ignorecase]=true
21
+ end
22
+
23
+ opts.on('-B', '--before-context NUM', Integer, 'print NUM lines of leading context') do | c |
24
+ options[:precontext]=c
25
+ end
26
+
27
+ opts.on('-A','--after-context NUM',Integer,'print NUM lines of trailing context') do | c |
28
+ options[:postcontext]=c
29
+ end
30
+ opts.on('-C','--context NUM',Integer,'print NUM lines of output context') do | c |
31
+ if c>0
32
+ options[:postcontext]=c
33
+ options[:precontext]=options[:postcontext]
34
+ end
35
+ end
36
+
37
+
38
+
39
+ opts.on('-X','--exclude FILE_PATTERN',String,
40
+ 'Exclude files that match FILE_PATTERN (as ruby regexp). Case insensitive') do |p|
41
+ options[:file_to_exclude].push(/#{Regexp.escape(p)}/i);
42
+ end
43
+
44
+
45
+
46
+
47
+ opts.on( '-h', '--help', 'Display this screen' ) do
48
+ puts opts
49
+ puts "Options are grep-like"
50
+ puts "EXAMPLES:"
51
+ puts "czsearch ciao Koros"
52
+ puts " Will search Koros OR ciao"
53
+ puts "czsearch -i gnu"
54
+ puts " Will match also GNU and Gnu"
55
+ puts "czsearch -X .orig -X .bak -X .java html:select"
56
+ puts " Will skip java and backup file"
57
+ exit
58
+ end
59
+ end
60
+ optparse.parse!
61
+
9
62
  ARGV.each do | s |
10
63
  #puts "Code Zauker Searching for #{s}"
11
64
  fs=CodeZauker::FileScanner.new()
12
- files=fs.search(s)
65
+ if options[:ignorecase]==false
66
+ files=fs.search(s)
67
+ pattern=/#{Regexp.escape(s)}/
68
+ else
69
+ files=fs.isearch(s)
70
+ pattern=/#{Regexp.escape(s)}/i
71
+ end
13
72
  files.each do |f|
14
- lines=grep(f,s);
15
- lines.each do |l |
16
- puts "#{f}:#{l}"
73
+ to_exclude=false
74
+ if options[:file_to_exclude].length >0
75
+ # Will match?
76
+ to_exclude=false
77
+ options[:file_to_exclude].each do |pattern|
78
+ #puts "\n\t#{f} =~ #{pattern}"
79
+ if (f =~ pattern )
80
+ to_exclude=true
81
+ #puts "Excluded #{f}"
82
+ break
83
+ end
84
+ end
85
+ end
86
+ if !to_exclude
87
+ begin
88
+ lines=grep(f,pattern, pre_context=options[:precontext], post_context=options[:postcontext]);
89
+ lines.each do |l |
90
+ puts "#{f}:#{l}"
91
+ end
92
+ rescue ArgumentError => ioe
93
+ puts "FATAL ArgumentError on #{f}"
94
+ raise ioe
95
+ end
96
+ else
97
+
17
98
  end
18
99
  end
19
100
  end
data/code_zauker.gemspec CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
24
24
 
25
25
  s.add_runtime_dependency "hiredis", "~> 0.3"
26
26
  s.add_runtime_dependency "redis", "~> 2.2"
27
+ s.add_runtime_dependency "rubyzip", "~> 0.9"
27
28
 
28
29
  ## Install and require the hiredis gem before redis-rb for maximum performances.
29
30
  #s.add_runtime_dependency "redis", "~> 2.2", :require => ["redis/connection/hiredis", "redis"]
data/doc/CodeZauker.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Module: CodeZauker
8
8
 
9
- &mdash; Code Zauker 0.0.2 Documentation
9
+ &mdash; Code Zauker 0.0.3 Documentation
10
10
 
11
11
  </title>
12
12
 
@@ -98,7 +98,7 @@ href="http://swtch.com/~rsc/regexp/regexp4.html">swtch.com/~rsc/regexp/regexp4.h
98
98
 
99
99
 
100
100
 
101
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="CodeZauker/FileScanner.html" title="CodeZauker::FileScanner (class)">FileScanner</a></span>
101
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="CodeZauker/FileScanner.html" title="CodeZauker::FileScanner (class)">FileScanner</a></span>, <span class='object_link'><a href="CodeZauker/Util.html" title="CodeZauker::Util (class)">Util</a></span>
102
102
 
103
103
 
104
104
  </p>
@@ -120,28 +120,57 @@ href="http://swtch.com/~rsc/regexp/regexp4.html">swtch.com/~rsc/regexp/regexp4.h
120
120
  <dt id="VERSION-constant" class="">VERSION =
121
121
 
122
122
  </dt>
123
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.0.2</span><span class='tstring_end'>&quot;</span></span></pre></dd>
123
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.0.3</span><span class='tstring_end'>&quot;</span></span></pre></dd>
124
+
125
+ <dt id="MAX_PUSH_TRIGRAM_RETRIES-constant" class="">MAX_PUSH_TRIGRAM_RETRIES =
126
+
127
+ </dt>
128
+ <dd><pre class="code"><span class='int'>3</span></pre></dd>
129
+
130
+ <dt id="TRIGRAM_DEFAULT_PUSH_SIZE-constant" class="">TRIGRAM_DEFAULT_PUSH_SIZE =
131
+ <div class="docstring">
132
+ <div class="discussion">
133
+
134
+ <p>Stats It is difficult to decide what is the best trigram push size. a
135
+ larger one ensure a best in memory processing but can lead to longer
136
+ transactions 6000 Ehuristic value used for historical reasons</p>
137
+
138
+
139
+ </div>
140
+ </div>
141
+ <div class="tags">
142
+
143
+
144
+ </div>
145
+ </dt>
146
+ <dd><pre class="code"><span class='int'>6000</span></pre></dd>
124
147
 
125
148
  <dt id="DEFAULT_EXCLUDED_EXTENSION-constant" class="">DEFAULT_EXCLUDED_EXTENSION =
126
149
 
127
150
  </dt>
128
151
  <dd><pre class="code"><span class='lbracket'>[</span>
129
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.pdf</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
152
+ <span class='comment'># Documents
153
+ </span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.pdf</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
130
154
  <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.xps</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
131
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.zip</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
132
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.ppt</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.xls</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.rtf</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.vsd</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
133
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.dll</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.exe</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.out</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.elf</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.lib</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.so</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
134
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.jar</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.class</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
155
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.zip</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.7z</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
156
+ <span class='comment'># MS Office zip-like files...
157
+ </span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.pptx</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.docx</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.xlsx</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
158
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.ppt</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.xls</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.rtf</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.vsd</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.odf</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
159
+ <span class='comment'># Binary bad stuff
160
+ </span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.dll</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.exe</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.out</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.elf</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.lib</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.so</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
161
+ <span class='comment'># Redis db
162
+ </span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.rdb</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
163
+ <span class='comment'># Ruby and java stuff-like
164
+ </span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.gem</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
165
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.jar</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.class</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.ear</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.war</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
135
166
  <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.tar</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
136
167
  <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.gz</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
137
168
  <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.dropbox</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
138
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.svn-base</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.pdb</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.cache</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
139
- <span class='comment'># MS Office zip-like files...
140
- </span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.pptx</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.docx</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.xlsx</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
169
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.svn-base</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.pdb</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.cache</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
141
170
  <span class='comment'># Music exclusion
142
171
  </span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.mp3</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.mp4</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.wav</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
143
172
  <span class='comment'># Image exclusion
144
- </span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.png</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.gif</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
173
+ </span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.png</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.gif</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.jpg</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.bmp</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
145
174
  <span class='comment'># Temp stuff
146
175
  </span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>.tmp</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>~</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
147
176
  <span class='comment'># Oracle exports...
@@ -160,7 +189,7 @@ href="http://swtch.com/~rsc/regexp/regexp4.html">swtch.com/~rsc/regexp/regexp4.h
160
189
  </div>
161
190
 
162
191
  <div id="footer">
163
- Generated on Fri Jan 27 14:54:06 2012 by
192
+ Generated on Fri Feb 3 17:18:43 2012 by
164
193
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
165
194
  0.7.4 (ruby-1.9.3).
166
195
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: CodeZauker::FileScanner
8
8
 
9
- &mdash; Code Zauker 0.0.2 Documentation
9
+ &mdash; Code Zauker 0.0.3 Documentation
10
10
 
11
11
  </title>
12
12
 
@@ -160,6 +160,31 @@ find file scontaining the trigram...</p>
160
160
  <p>A new instance of FileScanner.</p>
161
161
  </div></span>
162
162
 
163
+ </li>
164
+
165
+
166
+ <li class="public ">
167
+ <span class="summary_signature">
168
+
169
+ <a href="#isearch-instance_method" title="#isearch (instance method)">- (Object) <strong>isearch</strong>(term) </a>
170
+
171
+
172
+
173
+ </span>
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+ <span class="summary_desc"><div class='inline'>
183
+ <h1>Do a case-insenitive search </h1>
184
+
185
+ <p>using the special set of trigrams "trigram:ci:*" all downcase.</p>
186
+ </div></span>
187
+
163
188
  </li>
164
189
 
165
190
 
@@ -179,6 +204,48 @@ find file scontaining the trigram...</p>
179
204
 
180
205
 
181
206
 
207
+ <span class="summary_desc"><div class='inline'></div></span>
208
+
209
+ </li>
210
+
211
+
212
+ <li class="public ">
213
+ <span class="summary_signature">
214
+
215
+ <a href="#map_ids_to_files-instance_method" title="#map_ids_to_files (instance method)">- (Object) <strong>map_ids_to_files</strong>(fileIds) </a>
216
+
217
+
218
+
219
+ </span>
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+ <span class="summary_desc"><div class='inline'></div></span>
229
+
230
+ </li>
231
+
232
+
233
+ <li class="public ">
234
+ <span class="summary_signature">
235
+
236
+ <a href="#reindex-instance_method" title="#reindex (instance method)">- (Object) <strong>reindex</strong>(fileList) </a>
237
+
238
+
239
+
240
+ </span>
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
182
249
  <span class="summary_desc"><div class='inline'></div></span>
183
250
 
184
251
  </li>
@@ -286,16 +353,16 @@ padded into trigrams.</p>
286
353
  <pre class="lines">
287
354
 
288
355
 
289
- 16
290
- 17
291
- 18
292
- 19
293
- 20
294
- 21
295
- 22</pre>
356
+ 80
357
+ 81
358
+ 82
359
+ 83
360
+ 84
361
+ 85
362
+ 86</pre>
296
363
  </td>
297
364
  <td>
298
- <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 16</span>
365
+ <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 80</span>
299
366
 
300
367
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_redisConnection'>redisConnection</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
301
368
  <span class='kw'>if</span> <span class='id identifier rubyid_redisConnection'>redisConnection</span><span class='op'>==</span><span class='kw'>nil</span>
@@ -329,19 +396,72 @@ padded into trigrams.</p>
329
396
  <pre class="lines">
330
397
 
331
398
 
332
- 23
333
- 24
334
- 25</pre>
399
+ 89
400
+ 90
401
+ 91</pre>
335
402
  </td>
336
403
  <td>
337
- <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 23</span>
404
+ <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 89</span>
338
405
 
339
- <span class='kw'>def</span> <span class='id identifier rubyid_disconnect'>disconnect</span><span class='lparen'>(</span><span class='rparen'>)</span>
406
+ <span class='kw'>def</span> <span class='id identifier rubyid_disconnect'>disconnect</span><span class='lparen'>(</span><span class='rparen'>)</span>
340
407
  <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_quit'>quit</span>
341
408
  <span class='kw'>end</span></pre>
342
409
  </td>
343
410
  </tr>
344
411
  </table>
412
+ </div>
413
+
414
+ <div class="method_details ">
415
+ <p class="signature " id="isearch-instance_method">
416
+
417
+ - (<tt>Object</tt>) <strong>isearch</strong>(term)
418
+
419
+
420
+
421
+ </p><div class="docstring">
422
+ <div class="discussion">
423
+
424
+ <h1>Do a case-insenitive search </h1>
425
+
426
+ <p>using the special set of trigrams "trigram:ci:*" all downcase</p>
427
+
428
+
429
+ </div>
430
+ </div>
431
+ <div class="tags">
432
+
433
+
434
+ </div><table class="source_code">
435
+ <tr>
436
+ <td>
437
+ <pre class="lines">
438
+
439
+
440
+ 246
441
+ 247
442
+ 248
443
+ 249
444
+ 250
445
+ 251
446
+ 252
447
+ 253
448
+ 254</pre>
449
+ </td>
450
+ <td>
451
+ <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 246</span>
452
+
453
+ <span class='kw'>def</span> <span class='id identifier rubyid_isearch'>isearch</span><span class='lparen'>(</span><span class='id identifier rubyid_term'>term</span><span class='rparen'>)</span>
454
+ <span class='id identifier rubyid_termLowercase'>termLowercase</span><span class='op'>=</span><span class='id identifier rubyid_term'>term</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='lparen'>(</span><span class='rparen'>)</span>
455
+ <span class='id identifier rubyid_trigramInAnd'>trigramInAnd</span><span class='op'>=</span><span class='id identifier rubyid_split_in_trigrams'>split_in_trigrams</span><span class='lparen'>(</span><span class='id identifier rubyid_termLowercase'>termLowercase</span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>trigram:ci</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
456
+ <span class='kw'>if</span> <span class='id identifier rubyid_trigramInAnd'>trigramInAnd</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>==</span><span class='int'>0</span>
457
+ <span class='kw'>return</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
458
+ <span class='kw'>end</span>
459
+ <span class='id identifier rubyid_fileIds'>fileIds</span><span class='op'>=</span> <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_sinter'>sinter</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_trigramInAnd'>trigramInAnd</span><span class='rparen'>)</span>
460
+ <span class='kw'>return</span> <span class='id identifier rubyid_map_ids_to_files'>map_ids_to_files</span><span class='lparen'>(</span><span class='id identifier rubyid_fileIds'>fileIds</span><span class='rparen'>)</span>
461
+ <span class='kw'>end</span></pre>
462
+ </td>
463
+ </tr>
464
+ </table>
345
465
  </div>
346
466
 
347
467
  <div class="method_details ">
@@ -357,72 +477,74 @@ padded into trigrams.</p>
357
477
  <pre class="lines">
358
478
 
359
479
 
360
- 52
361
- 53
362
- 54
363
- 55
364
- 56
365
- 57
366
- 58
367
- 59
368
- 60
369
- 61
370
- 62
371
- 63
372
- 64
373
- 65
374
- 66
375
- 67
376
- 68
377
- 69
378
- 70
379
- 71
380
- 72
381
- 73
382
- 74
383
- 75
384
- 76
385
- 77
386
- 78
387
- 79
388
- 80
389
- 81
390
- 82
391
- 83
392
- 84
393
- 85
394
- 86
395
- 87
396
- 88
397
- 89
398
- 90
399
- 91
400
- 92
401
- 93
402
- 94
403
- 95
404
- 96
405
- 97
406
- 98
407
- 99
408
- 100
409
- 101
410
- 102
411
- 103
412
- 104
413
- 105
414
- 106
415
- 107
416
- 108
417
- 109
418
- 110
419
- 111
420
- 112
421
- 113
422
- 114</pre>
480
+ 148
481
+ 149
482
+ 150
483
+ 151
484
+ 152
485
+ 153
486
+ 154
487
+ 155
488
+ 156
489
+ 157
490
+ 158
491
+ 159
492
+ 160
493
+ 161
494
+ 162
495
+ 163
496
+ 164
497
+ 165
498
+ 166
499
+ 167
500
+ 168
501
+ 169
502
+ 170
503
+ 171
504
+ 172
505
+ 173
506
+ 174
507
+ 175
508
+ 176
509
+ 177
510
+ 178
511
+ 179
512
+ 180
513
+ 181
514
+ 182
515
+ 183
516
+ 184
517
+ 185
518
+ 186
519
+ 187
520
+ 188
521
+ 189
522
+ 190
523
+ 191
524
+ 192
525
+ 193
526
+ 194
527
+ 195
528
+ 196
529
+ 197
530
+ 198
531
+ 199
532
+ 200
533
+ 201
534
+ 202
535
+ 203
536
+ 204
537
+ 205
538
+ 206
539
+ 207
540
+ 208
541
+ 209
542
+ 210
543
+ 211
544
+ 212</pre>
423
545
  </td>
424
546
  <td>
425
- <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 52</span>
547
+ <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 148</span>
426
548
 
427
549
  <span class='kw'>def</span> <span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='id identifier rubyid_noReload'>noReload</span><span class='op'>=</span><span class='kw'>false</span><span class='rparen'>)</span>
428
550
  <span class='comment'># Define my redis id...
@@ -436,8 +558,8 @@ padded into trigrams.</p>
436
558
  <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_set'>set</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:id2filename:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fid'>fid</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='id identifier rubyid_filename'>filename</span>
437
559
  <span class='kw'>else</span>
438
560
  <span class='kw'>if</span> <span class='id identifier rubyid_noReload'>noReload</span>
439
- <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Already found </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='rbrace'>}</span><span class='tstring_content'> as id:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fid'>fid</span><span class='rbrace'>}</span><span class='tstring_content'> and NOT RELOADED</span><span class='tstring_end'>&quot;</span></span>
440
- <span class='kw'>return</span> <span class='kw'>nil</span>
561
+ <span class='comment'>#puts &quot;Already found #{filename} as id:#{fid} and NOT RELOADED&quot;
562
+ </span> <span class='kw'>return</span> <span class='kw'>nil</span>
441
563
  <span class='kw'>end</span>
442
564
  <span class='kw'>end</span>
443
565
  <span class='comment'># fid is the set key!...
@@ -448,10 +570,12 @@ padded into trigrams.</p>
448
570
  </span> <span class='comment'># before sending it to redis. This avoid
449
571
  </span> <span class='comment'># a lot of spourios work
450
572
  </span> <span class='id identifier rubyid_s'>s</span><span class='op'>=</span><span class='const'>Set</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
451
- <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>r</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_f'>f</span><span class='op'>|</span>
573
+ <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>r</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_f'>f</span><span class='op'>|</span>
452
574
  <span class='id identifier rubyid_lines'>lines</span><span class='op'>=</span><span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_readlines'>readlines</span><span class='lparen'>(</span><span class='rparen'>)</span>
453
- <span class='id identifier rubyid_adaptiveSize'>adaptiveSize</span><span class='op'>=</span> <span class='int'>6000</span>
454
- <span class='id identifier rubyid_lines'>lines</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span>
575
+ <span class='id identifier rubyid_adaptiveSize'>adaptiveSize</span><span class='op'>=</span> <span class='const'>TRIGRAM_DEFAULT_PUSH_SIZE</span>
576
+ <span class='id identifier rubyid_util'>util</span><span class='op'>=</span><span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='rparen'>)</span>
577
+ <span class='id identifier rubyid_lines'>lines</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_lineNotUTF8'>lineNotUTF8</span><span class='op'>|</span>
578
+ <span class='id identifier rubyid_l'>l</span><span class='op'>=</span> <span class='id identifier rubyid_util'>util</span><span class='period'>.</span><span class='id identifier rubyid_ensureUTF8'>ensureUTF8</span><span class='lparen'>(</span><span class='id identifier rubyid_lineNotUTF8'>lineNotUTF8</span><span class='rparen'>)</span>
455
579
  <span class='comment'># Split each line into 3-char chunks, and store in a redis set
456
580
  </span> <span class='id identifier rubyid_i'>i</span><span class='op'>=</span><span class='int'>0</span>
457
581
  <span class='kw'>for</span> <span class='id identifier rubyid_istart'>istart</span> <span class='kw'>in</span> <span class='int'>0</span><span class='op'>...</span><span class='lparen'>(</span><span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>-</span><span class='const'>GRAM_SIZE</span><span class='rparen'>)</span>
@@ -470,7 +594,7 @@ padded into trigrams.</p>
470
594
  <span class='comment'>#puts &quot;#{istart} Trigram fscan:#{trigram}/ FileId: #{fid}&quot;
471
595
  </span> <span class='kw'>end</span>
472
596
  <span class='kw'>end</span>
473
- <span class='kw'>end</span>
597
+ <span class='rbrace'>}</span>
474
598
 
475
599
  <span class='kw'>if</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span>
476
600
  <span class='id identifier rubyid_pushTrigramsSet'>pushTrigramsSet</span><span class='lparen'>(</span><span class='id identifier rubyid_s'>s</span><span class='comma'>,</span><span class='id identifier rubyid_fid'>fid</span><span class='comma'>,</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span>
@@ -482,14 +606,92 @@ padded into trigrams.</p>
482
606
  <span class='id identifier rubyid_trigramsOnFile'>trigramsOnFile</span><span class='op'>=</span><span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_scard'>scard</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:trigramsOnFile:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fid'>fid</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
483
607
  <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_sadd'>sadd</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:processedFiles</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
484
608
  <span class='id identifier rubyid_trigramRatio'>trigramRatio</span><span class='op'>=</span><span class='lparen'>(</span> <span class='lparen'>(</span><span class='id identifier rubyid_trigramsOnFile'>trigramsOnFile</span><span class='op'>*</span><span class='float'>1.0</span><span class='rparen'>)</span> <span class='op'>/</span> <span class='id identifier rubyid_trigramScanned'>trigramScanned</span> <span class='rparen'>)</span><span class='op'>*</span> <span class='float'>100.0</span>
485
- <span class='kw'>if</span> <span class='id identifier rubyid_trigramRatio'>trigramRatio</span> <span class='op'>&lt;</span> <span class='int'>10</span> <span class='kw'>or</span> <span class='id identifier rubyid_trigramRatio'>trigramRatio</span> <span class='op'>&gt;</span><span class='int'>75</span>
486
- <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='rbrace'>}</span><span class='tstring_content'>\n\tRatio:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_trigramRatio'>trigramRatio</span><span class='period'>.</span><span class='id identifier rubyid_round'>round</span><span class='rbrace'>}</span><span class='tstring_content'>% Unique Trigrams:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_trigramsOnFile'>trigramsOnFile</span><span class='rbrace'>}</span><span class='tstring_content'> Total Scanned: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_trigramScanned'>trigramScanned</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='tstring_end'>&quot;</span></span>
609
+ <span class='kw'>if</span> <span class='id identifier rubyid_trigramRatio'>trigramRatio</span> <span class='op'>&lt;</span> <span class='int'>10</span> <span class='kw'>or</span> <span class='id identifier rubyid_trigramRatio'>trigramRatio</span> <span class='op'>&gt;</span><span class='int'>75</span>
610
+ <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='rbrace'>}</span><span class='tstring_content'>\n\tRatio:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_trigramRatio'>trigramRatio</span><span class='period'>.</span><span class='id identifier rubyid_round'>round</span><span class='rbrace'>}</span><span class='tstring_content'>% Unique Trigrams:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_trigramsOnFile'>trigramsOnFile</span><span class='rbrace'>}</span><span class='tstring_content'> Total Scanned: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_trigramScanned'>trigramScanned</span><span class='rbrace'>}</span><span class='tstring_content'> ?Binary</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_trigramRatio'>trigramRatio</span> <span class='op'>&gt;</span><span class='int'>90</span> <span class='kw'>and</span> <span class='id identifier rubyid_trigramsOnFile'>trigramsOnFile</span><span class='op'>&gt;</span><span class='int'>70</span>
487
611
  <span class='kw'>end</span>
488
612
  <span class='kw'>return</span> <span class='kw'>nil</span>
489
613
  <span class='kw'>end</span></pre>
490
614
  </td>
491
615
  </tr>
492
616
  </table>
617
+ </div>
618
+
619
+ <div class="method_details ">
620
+ <p class="signature " id="map_ids_to_files-instance_method">
621
+
622
+ - (<tt>Object</tt>) <strong>map_ids_to_files</strong>(fileIds)
623
+
624
+
625
+
626
+ </p><table class="source_code">
627
+ <tr>
628
+ <td>
629
+ <pre class="lines">
630
+
631
+
632
+ 228
633
+ 229
634
+ 230
635
+ 231
636
+ 232
637
+ 233
638
+ 234
639
+ 235
640
+ 236
641
+ 237</pre>
642
+ </td>
643
+ <td>
644
+ <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 228</span>
645
+
646
+ <span class='kw'>def</span> <span class='id identifier rubyid_map_ids_to_files'>map_ids_to_files</span><span class='lparen'>(</span><span class='id identifier rubyid_fileIds'>fileIds</span><span class='rparen'>)</span>
647
+ <span class='id identifier rubyid_filenames'>filenames</span><span class='op'>=</span><span class='lbracket'>[</span><span class='rbracket'>]</span>
648
+ <span class='comment'># fscan:id2filename:#{fid}....
649
+ </span> <span class='id identifier rubyid_fileIds'>fileIds</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>|</span>
650
+ <span class='id identifier rubyid_file_name'>file_name</span><span class='op'>=</span><span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:id2filename:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
651
+ <span class='id identifier rubyid_filenames'>filenames</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_file_name'>file_name</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_file_name'>file_name</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
652
+ <span class='kw'>end</span>
653
+ <span class='comment'>#puts &quot; ** Files found:#{filenames} from ids #{fileIds}&quot;
654
+ </span> <span class='kw'>return</span> <span class='id identifier rubyid_filenames'>filenames</span>
655
+ <span class='kw'>end</span></pre>
656
+ </td>
657
+ </tr>
658
+ </table>
659
+ </div>
660
+
661
+ <div class="method_details ">
662
+ <p class="signature " id="reindex-instance_method">
663
+
664
+ - (<tt>Object</tt>) <strong>reindex</strong>(fileList)
665
+
666
+
667
+
668
+ </p><table class="source_code">
669
+ <tr>
670
+ <td>
671
+ <pre class="lines">
672
+
673
+
674
+ 276
675
+ 277
676
+ 278
677
+ 279
678
+ 280
679
+ 281
680
+ 282</pre>
681
+ </td>
682
+ <td>
683
+ <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 276</span>
684
+
685
+ <span class='kw'>def</span> <span class='id identifier rubyid_reindex'>reindex</span><span class='lparen'>(</span><span class='id identifier rubyid_fileList'>fileList</span><span class='rparen'>)</span>
686
+ <span class='comment'>#puts &quot;Reindexing... #{fileList.length} files...&quot;
687
+ </span> <span class='id identifier rubyid_fileList'>fileList</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_current_file'>current_file</span> <span class='op'>|</span>
688
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_current_file'>current_file</span><span class='rbracket'>]</span><span class='rparen'>)</span>
689
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='id identifier rubyid_current_file'>current_file</span><span class='comma'>,</span><span class='id identifier rubyid_noReload'>noReload</span><span class='op'>=</span><span class='kw'>false</span><span class='rparen'>)</span>
690
+ <span class='kw'>end</span>
691
+ <span class='kw'>end</span></pre>
692
+ </td>
693
+ </tr>
694
+ </table>
493
695
  </div>
494
696
 
495
697
  <div class="method_details ">
@@ -516,44 +718,45 @@ padded into trigrams.</p>
516
718
  <pre class="lines">
517
719
 
518
720
 
519
- 163
520
- 164
521
- 165
522
- 166
523
- 167
524
- 168
525
- 169
526
- 170
527
- 171
528
- 172
529
- 173
530
- 174
531
- 175
532
- 176
533
- 177
534
- 178
535
- 179
536
- 180
537
- 181
538
- 182
539
- 183
540
- 184
541
- 185
542
- 186
543
- 187
544
- 188
545
- 189
546
- 190
547
- 191
548
- 192
549
- 193
550
- 194
551
- 195
552
- 196
553
- 197</pre>
721
+ 297
722
+ 298
723
+ 299
724
+ 300
725
+ 301
726
+ 302
727
+ 303
728
+ 304
729
+ 305
730
+ 306
731
+ 307
732
+ 308
733
+ 309
734
+ 310
735
+ 311
736
+ 312
737
+ 313
738
+ 314
739
+ 315
740
+ 316
741
+ 317
742
+ 318
743
+ 319
744
+ 320
745
+ 321
746
+ 322
747
+ 323
748
+ 324
749
+ 325
750
+ 326
751
+ 327
752
+ 328
753
+ 329
754
+ 330
755
+ 331
756
+ 332</pre>
554
757
  </td>
555
758
  <td>
556
- <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 163</span>
759
+ <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 297</span>
557
760
 
558
761
  <span class='kw'>def</span> <span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='id identifier rubyid_filePaths'>filePaths</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
559
762
  <span class='kw'>if</span> <span class='id identifier rubyid_filePaths'>filePaths</span><span class='op'>==</span><span class='kw'>nil</span>
@@ -566,26 +769,27 @@ padded into trigrams.</p>
566
769
  <span class='kw'>else</span>
567
770
  <span class='id identifier rubyid_fileList'>fileList</span><span class='op'>=</span><span class='id identifier rubyid_filePaths'>filePaths</span>
568
771
  <span class='kw'>end</span>
569
- <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Files to remove from index...</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fileList'>fileList</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
570
-
571
- <span class='id identifier rubyid_fileList'>fileList</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_filename'>filename</span><span class='op'>|</span>
772
+ <span class='comment'># puts &quot;Files to remove from index...#{fileList.length}&quot;
773
+ </span> <span class='id identifier rubyid_fileList'>fileList</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_filename'>filename</span><span class='op'>|</span>
572
774
  <span class='id identifier rubyid_fid'>fid</span><span class='op'>=</span><span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:id:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
573
775
  <span class='id identifier rubyid_trigramsToExpurge'>trigramsToExpurge</span><span class='op'>=</span><span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_smembers'>smembers</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:trigramsOnFile:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fid'>fid</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
574
776
  <span class='kw'>if</span> <span class='id identifier rubyid_trigramsToExpurge'>trigramsToExpurge</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>==</span><span class='int'>0</span>
575
777
  <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>?Nothing to do on </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
576
778
  <span class='kw'>end</span>
577
- <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='rbrace'>}</span><span class='tstring_content'> id=</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fid'>fid</span><span class='rbrace'>}</span><span class='tstring_content'> Trigrams: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_trigramsToExpurge'>trigramsToExpurge</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
779
+ <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='rbrace'>}</span><span class='tstring_content'> id=</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fid'>fid</span><span class='rbrace'>}</span><span class='tstring_content'> Trigrams: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_trigramsToExpurge'>trigramsToExpurge</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rbrace'>}</span><span class='tstring_content'> Expurging...</span><span class='tstring_end'>&quot;</span></span>
578
780
  <span class='id identifier rubyid_trigramsToExpurge'>trigramsToExpurge</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span> <span class='id identifier rubyid_ts'>ts</span> <span class='op'>|</span>
579
781
  <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_srem'>srem</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>trigram:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ts'>ts</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_fid'>fid</span>
580
782
  <span class='kw'>begin</span>
581
783
  <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_srem'>srem</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>trigram:ci:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ts'>ts</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='id identifier rubyid_fid'>fid</span>
582
- <span class='kw'>rescue</span> <span class='const'>ArgumentError</span>
784
+ <span class='comment'>#putc &quot;.&quot;
785
+ </span> <span class='kw'>rescue</span> <span class='const'>ArgumentError</span>
583
786
  <span class='comment'># Ignore &quot;ArgumentError: invalid byte sequence in UTF-8&quot;
584
787
  </span> <span class='comment'># and proceed...
585
788
  </span> <span class='kw'>end</span>
586
789
  <span class='kw'>end</span>
587
-
588
- <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_del'>del</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:id:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:trigramsOnFile:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fid'>fid</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:id2filename:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fid'>fid</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
790
+ <span class='comment'>#putc &quot;\n&quot;
791
+ </span>
792
+ <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_del'>del</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:id:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:trigramsOnFile:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fid'>fid</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:id2filename:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_fid'>fid</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
589
793
  <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_srem'>srem</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:processedFiles</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_filename'>filename</span>
590
794
  <span class='kw'>end</span>
591
795
  <span class='kw'>return</span> <span class='kw'>nil</span>
@@ -619,15 +823,29 @@ padded into trigrams.</p>
619
823
  <pre class="lines">
620
824
 
621
825
 
622
- 158
623
- 159
624
- 160</pre>
826
+ 285
827
+ 286
828
+ 287
829
+ 288
830
+ 289
831
+ 290
832
+ 291
833
+ 292
834
+ 293
835
+ 294</pre>
625
836
  </td>
626
837
  <td>
627
- <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 158</span>
838
+ <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 285</span>
628
839
 
629
840
  <span class='kw'>def</span> <span class='id identifier rubyid_removeAll'>removeAll</span><span class='lparen'>(</span><span class='rparen'>)</span>
630
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='rparen'>)</span>
841
+ <span class='id identifier rubyid_tokill'>tokill</span><span class='op'>=</span><span class='lbracket'>[</span><span class='rbracket'>]</span>
842
+ <span class='id identifier rubyid_tokill'>tokill</span><span class='op'>=</span><span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:*</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
843
+ <span class='id identifier rubyid_tokill'>tokill</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='op'>*</span><span class='lparen'>(</span><span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>trigram*</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span>
844
+ <span class='id identifier rubyid_tokill'>tokill</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span> <span class='id identifier rubyid_x'>x</span> <span class='op'>|</span>
845
+ <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_del'>del</span> <span class='id identifier rubyid_x'>x</span>
846
+ <span class='comment'>#puts &quot;Deleted #x&quot;
847
+ </span> <span class='kw'>end</span>
848
+ <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_del'>del</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:processedFiles</span><span class='tstring_end'>&quot;</span></span>
631
849
  <span class='kw'>end</span></pre>
632
850
  </td>
633
851
  </tr>
@@ -661,67 +879,39 @@ padded into trigrams</p>
661
879
  <pre class="lines">
662
880
 
663
881
 
664
- 119
665
- 120
666
- 121
667
- 122
668
- 123
669
- 124
670
- 125
671
- 126
672
- 127
673
- 128
674
- 129
675
- 130
676
- 131
677
- 132
678
- 133
679
- 134
680
- 135
681
- 136
682
- 137
683
- 138
684
- 139
685
- 140
686
- 141
687
- 142
688
- 143
689
- 144
690
- 145
691
- 146
692
- 147</pre>
882
+ 260
883
+ 261
884
+ 262
885
+ 263
886
+ 264
887
+ 265
888
+ 266
889
+ 267
890
+ 268
891
+ 269
892
+ 270
893
+ 271
894
+ 272
895
+ 273
896
+ 274</pre>
693
897
  </td>
694
898
  <td>
695
- <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 119</span>
899
+ <pre class="code"><span class="info file"># File 'lib/code_zauker.rb', line 260</span>
696
900
 
697
901
  <span class='kw'>def</span> <span class='id identifier rubyid_search'>search</span><span class='lparen'>(</span><span class='id identifier rubyid_term'>term</span><span class='rparen'>)</span>
698
902
  <span class='kw'>if</span> <span class='id identifier rubyid_term'>term</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&lt;</span> <span class='const'>GRAM_SIZE</span>
699
903
  <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>FATAL: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_term'>term</span><span class='rbrace'>}</span><span class='tstring_content'> is shorter then the minimum size of </span><span class='embexpr_beg'>#{</span><span class='const'>GRAM_SIZE</span><span class='rbrace'>}</span><span class='tstring_content'> character</span><span class='tstring_end'>&quot;</span></span>
700
904
  <span class='kw'>end</span>
701
905
  <span class='comment'>#puts &quot; ** Searching: #{term}&quot;
702
- </span> <span class='comment'># split the term in a padded trigram
703
- </span> <span class='id identifier rubyid_trigramInAnd'>trigramInAnd</span><span class='op'>=</span><span class='lbracket'>[</span><span class='rbracket'>]</span>
704
- <span class='comment'># Search=&gt; Sea AND ear AND arc AND rch
705
- </span> <span class='kw'>for</span> <span class='id identifier rubyid_j'>j</span> <span class='kw'>in</span> <span class='int'>0</span><span class='op'>...</span><span class='id identifier rubyid_term'>term</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
706
- <span class='id identifier rubyid_currentTrigram'>currentTrigram</span><span class='op'>=</span><span class='id identifier rubyid_term'>term</span><span class='lbracket'>[</span><span class='id identifier rubyid_j'>j</span><span class='comma'>,</span><span class='const'>GRAM_SIZE</span><span class='rbracket'>]</span>
707
- <span class='kw'>if</span> <span class='id identifier rubyid_currentTrigram'>currentTrigram</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&lt;</span><span class='const'>GRAM_SIZE</span>
708
- <span class='comment'># We are at the end...
709
- </span> <span class='kw'>break</span>
710
- <span class='kw'>end</span>
711
- <span class='id identifier rubyid_trigramInAnd'>trigramInAnd</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>trigram:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_currentTrigram'>currentTrigram</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
712
- <span class='kw'>end</span>
906
+ </span> <span class='id identifier rubyid_trigramInAnd'>trigramInAnd</span><span class='op'>=</span><span class='id identifier rubyid_split_in_trigrams'>split_in_trigrams</span><span class='lparen'>(</span><span class='id identifier rubyid_term'>term</span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>trigram</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
713
907
  <span class='comment'>#puts &quot;Trigam conversion /#{term}/ into #{trigramInAnd}&quot;
714
908
  </span> <span class='kw'>if</span> <span class='id identifier rubyid_trigramInAnd'>trigramInAnd</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>==</span><span class='int'>0</span>
715
909
  <span class='kw'>return</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
716
910
  <span class='kw'>end</span>
717
911
  <span class='id identifier rubyid_fileIds'>fileIds</span><span class='op'>=</span> <span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_sinter'>sinter</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_trigramInAnd'>trigramInAnd</span><span class='rparen'>)</span>
718
- <span class='id identifier rubyid_filenames'>filenames</span><span class='op'>=</span><span class='lbracket'>[</span><span class='rbracket'>]</span>
719
- <span class='comment'># fscan:id2filename:#{fid}....
720
- </span> <span class='id identifier rubyid_fileIds'>fileIds</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>|</span>
721
- <span class='id identifier rubyid_filenames'>filenames</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='ivar'>@redis</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>fscan:id2filename:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
722
- <span class='kw'>end</span>
723
- <span class='comment'>#puts &quot; ** Files found:#{filenames} from ids #{fileIds}&quot;
724
- </span> <span class='kw'>return</span> <span class='id identifier rubyid_filenames'>filenames</span>
912
+ <span class='id identifier rubyid_fileNames'>fileNames</span><span class='op'>=</span><span class='id identifier rubyid_map_ids_to_files'>map_ids_to_files</span><span class='lparen'>(</span><span class='id identifier rubyid_fileIds'>fileIds</span><span class='rparen'>)</span>
913
+ <span class='comment'>#puts &quot;DEBUG #{fileIds} #{fileNames}&quot;
914
+ </span> <span class='kw'>return</span> <span class='id identifier rubyid_fileNames'>fileNames</span>
725
915
  <span class='kw'>end</span></pre>
726
916
  </td>
727
917
  </tr>
@@ -733,7 +923,7 @@ padded into trigrams</p>
733
923
  </div>
734
924
 
735
925
  <div id="footer">
736
- Generated on Fri Jan 27 14:54:06 2012 by
926
+ Generated on Fri Feb 3 17:18:44 2012 by
737
927
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
738
928
  0.7.4 (ruby-1.9.3).
739
929
  </div>