linecache-tf 1.0 → 1.2

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/NEWS CHANGED
@@ -1,3 +1,12 @@
1
+ tf-1.2
2
+ Nov 20, 2014
3
+ - Handle UTF-8, update rake task for this year's way to do the same thing
4
+
5
+
6
+ tf-1.0
7
+ Feb 1, 2011
8
+ - Add syntax highlight caching
9
+
1
10
  tf-0.45
2
11
  Dec 10, 2010 Phel. Mad. Release
3
12
  - Work on iseq caching.
@@ -12,7 +21,7 @@ Sept 13, 2010
12
21
  06-12-08
13
22
  - tolerance for finding windows extension in lib rather than ext.
14
23
 
15
- 0.41
24
+ 0.41
16
25
  - add test/data/* to gem.
17
26
 
18
27
  0.4
@@ -21,15 +30,15 @@ Sept 13, 2010
21
30
  0.3
22
31
  - Add tracelines: get line numbers that can be stopped at.
23
32
 
24
- - Add routines to allow line-number
25
- remapping and filename remapping.
33
+ - Add routines to allow line-number
34
+ remapping and filename remapping.
26
35
 
27
36
  - Add access methods to get the number of lines in a file.
28
37
 
29
38
  0.2
30
39
  - Make this work with ruby-debug-base. Add reload-on-change parameters.
31
- add checkcache, cache, cached? sha1, and stat methods.
32
-
40
+ add checkcache, cache, cached? sha1, and stat methods.
41
+
33
42
  - Use SCRIPT_LINES__.
34
43
 
35
44
  0.1
data/README CHANGED
@@ -1,4 +1,4 @@
1
- = LineCache - A module to read and cache file information of a Ruby program.
1
+ = LineCache - a module to read and cache Ruby program files and file information
2
2
 
3
3
  == SYNOPSIS
4
4
 
data/Rakefile CHANGED
@@ -1,8 +1,6 @@
1
1
  #!/usr/bin/env rake
2
2
  # -*- Ruby -*-
3
3
  require 'rubygems'
4
- require 'rake/gempackagetask'
5
- require 'rake/rdoctask'
6
4
  require 'rake/testtask'
7
5
  require 'fileutils'
8
6
 
@@ -13,20 +11,21 @@ def gemspec
13
11
  @gemspec ||= eval(File.read('.gemspec'), binding, '.gemspec')
14
12
  end
15
13
 
14
+ require 'rubygems/package_task'
16
15
  desc "Build the gem"
17
16
  task :package=>:gem
18
17
  task :gem=>:gemspec do
19
18
  Dir.chdir(ROOT_DIR) do
20
19
  sh "gem build .gemspec"
21
20
  FileUtils.mkdir_p 'pkg'
22
- FileUtils.mv "#{gemspec.name}-#{gemspec.version}.gem", 'pkg'
21
+ FileUtils.mv("#{gemspec.file_name}", "pkg/")
23
22
  end
24
23
  end
25
24
 
26
25
  desc "Install the gem locally"
27
26
  task :install => :gem do
28
27
  Dir.chdir(ROOT_DIR) do
29
- sh %{gem install --local pkg/#{gemspec.name}-#{gemspec.version}}
28
+ sh %{gem install --local pkg/#{gemspec.file_name}}
30
29
  end
31
30
  end
32
31
 
@@ -34,7 +33,7 @@ desc "Test everything"
34
33
  Rake::TestTask.new(:test) do |t|
35
34
  t.libs << './lib'
36
35
  t.pattern = 'test/test-*.rb'
37
- t.verbose = true
36
+ t.options = '--verbose' if $VERBOSE
38
37
  end
39
38
  task :test => :lib
40
39
 
@@ -43,7 +42,7 @@ task :check => :test
43
42
 
44
43
  desc "Create a GNU-style ChangeLog via svn2cl"
45
44
  task :ChangeLog do
46
- system("svn2cl --authors=svn2cl_usermap")
45
+ system('git log --pretty --numstat --summary | git2cl > ChangeLog')
47
46
  end
48
47
 
49
48
  task :default => [:test]
@@ -62,6 +61,7 @@ task :gemspec do
62
61
  end
63
62
 
64
63
  # --------- RDoc Documentation ------
64
+ require 'rdoc/task'
65
65
  desc "Generate rdoc documentation"
66
66
  Rake::RDocTask.new("rdoc") do |rdoc|
67
67
  rdoc.rdoc_dir = 'doc'
data/lib/linecache.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright (C) 2007, 2008, 2009, 2010, 2011 Rocky Bernstein
2
+ # Copyright (C) 2007-2011, 2014 Rocky Bernstein
3
3
  # <rockyb@rubyforge.net>
4
4
  #
5
5
  # This program is free software; you can redistribute it and/or modify
@@ -21,12 +21,12 @@
21
21
  # Author:: Rocky Bernstein (mailto:rockyb@rubyforge.net)
22
22
  #
23
23
  # = linecache
24
- # A module to read and cache lines of a Ruby program.
24
+ # A module to read and cache lines of a Ruby program.
25
25
 
26
26
  # == SYNOPSIS
27
27
  #
28
28
  # The LineCache module allows one to get any line from any file,
29
- # caching lines of the file on first access to the file. Although the
29
+ # caching lines of the file on first access to the file. Although the
30
30
  # file may be any file, the common use is when the file is a Ruby
31
31
  # script since parsing of the file is done to figure out where the
32
32
  # statement boundaries are.
@@ -59,23 +59,26 @@
59
59
  # and never destroys SCRIPT_LINES__
60
60
  SCRIPT_LINES__ = {} unless defined? SCRIPT_LINES__
61
61
 
62
+ Encoding.default_external = Encoding::UTF_8
63
+ Encoding.default_internal = Encoding::UTF_8
64
+
62
65
  require 'tempfile'
63
66
  require 'digest/sha1'
64
67
  require 'set'
65
68
  require_relative 'tracelines'
66
69
 
67
70
  # = module LineCache
68
- # A module to read and cache lines of a Ruby program.
71
+ # A module to read and cache lines of a Ruby program.
69
72
  module LineCache
70
- VERSION = '1.0'
73
+ VERSION = '1.2'
71
74
  LineCacheInfo = Struct.new(:stat, :line_numbers, :lines, :path, :sha1) unless
72
75
  defined?(LineCacheInfo)
73
-
74
- # The file cache. The key is a name as would be given by Ruby for
75
- # __FILE__. The value is a LineCacheInfo object.
76
- @@file_cache = {}
77
- @@iseq_cache = {}
78
-
76
+
77
+ # The file cache. The key is a name as would be given by Ruby for
78
+ # __FILE__. The value is a LineCacheInfo object.
79
+ @@file_cache = {}
80
+ @@iseq_cache = {}
81
+
79
82
  # Used for CodeRay syntax highlighting
80
83
  @@ruby_highlighter = nil
81
84
 
@@ -91,10 +94,10 @@ module LineCache
91
94
  # Another related use is when a template system is used. Here we'll
92
95
  # probably want to remap not only the file name but also line
93
96
  # ranges. Will probably use this for that, but I'm not sure.
94
- @@file2file_remap = {}
97
+ @@file2file_remap = {}
95
98
  @@file2file_remap_lines = {}
96
99
 
97
- @@iseq2file = {}
100
+ @@iseq2file = {}
98
101
 
99
102
  module_function
100
103
 
@@ -105,10 +108,10 @@ module LineCache
105
108
  end
106
109
  at_exit { remove_iseq_temps }
107
110
 
108
-
111
+
109
112
  # Remove syntax-formatted lines in the cache. Use this
110
113
  # when you change the CodeRay syntax or Token formatting
111
- # and want to redo how files may have previously been
114
+ # and want to redo how files may have previously been
112
115
  # syntax marked.
113
116
  def clear_file_format_cache
114
117
  @@file_cache.each_pair do |fname, cache_info|
@@ -121,7 +124,7 @@ module LineCache
121
124
 
122
125
  # Clear the file cache entirely.
123
126
  def clear_file_cache(filename=nil)
124
- if filename
127
+ if filename
125
128
  if @@file_cache[filename]
126
129
  @@file_cache.delete(filename)
127
130
  end
@@ -150,7 +153,7 @@ module LineCache
150
153
  # is found, it will be kept. Return a list of invalidated filenames.
151
154
  # nil is returned if a filename was given but not found cached.
152
155
  def checkcache(filename=nil, opts={})
153
-
156
+
154
157
  if !filename
155
158
  filenames = @@file_cache.keys()
156
159
  elsif @@file_cache.member?(filename)
@@ -167,7 +170,7 @@ module LineCache
167
170
  cache_info = @@file_cache[filename].stat
168
171
  stat = File.stat(path)
169
172
  if cache_info
170
- if stat &&
173
+ if stat &&
171
174
  (cache_info.size != stat.size or cache_info.mtime != stat.mtime)
172
175
  result << filename
173
176
  update_cache(filename, opts)
@@ -217,12 +220,12 @@ module LineCache
217
220
  nil
218
221
  end
219
222
  end
220
-
223
+
221
224
  # Return true if file_or_iseq is cached
222
225
  def cached?(file_or_iseq)
223
- if file_or_iseq.kind_of?(String)
226
+ if file_or_iseq.kind_of?(String)
224
227
  @@file_cache.member?(map_file(file_or_iseq))
225
- else
228
+ else
226
229
  cached_iseq?(file_or_iseq)
227
230
  end
228
231
  end
@@ -232,7 +235,7 @@ module LineCache
232
235
  SCRIPT_LINES__.member?(map_file(filename))
233
236
  end
234
237
  module_function :cached_script?
235
-
238
+
236
239
  def empty?(filename)
237
240
  filename=map_file(filename)
238
241
  @@file_cache[filename].lines.empty?
@@ -242,16 +245,16 @@ module LineCache
242
245
  # Get line +line_number+ from file named +filename+. Return nil if
243
246
  # there was a problem. If a file named filename is not found, the
244
247
  # function will look for it in the $: array.
245
- #
248
+ #
246
249
  # Examples:
247
- #
250
+ #
248
251
  # lines = LineCache::getline('/tmp/myfile.rb')
249
252
  # # Same as above
250
253
  # $: << '/tmp'
251
254
  # lines = LineCache.getlines('myfile.rb')
252
255
  #
253
256
  def getline(file_or_iseq, line_number, opts={})
254
- lines =
257
+ lines =
255
258
  if file_or_iseq.kind_of?(String)
256
259
  filename = map_file(file_or_iseq)
257
260
  filename, line_number = map_file_line(filename, line_number)
@@ -272,7 +275,7 @@ module LineCache
272
275
  def iseq_getlines(iseq, opts={})
273
276
  return nil unless iseq.kind_of? RubyVM::InstructionSequence
274
277
  format = opts[:output] || :plain
275
- line_formats =
278
+ line_formats =
276
279
  if @@iseq_cache.member?(iseq)
277
280
  @@iseq_cache[iseq].lines
278
281
  else
@@ -301,7 +304,7 @@ module LineCache
301
304
  if @@file_cache.member?(filename)
302
305
  lines = @@file_cache[filename].lines
303
306
  if opts[:output] && !lines[format]
304
- lines[format] =
307
+ lines[format] =
305
308
  highlight_string(lines[:plain].join(''), format).split(/\n/)
306
309
  end
307
310
  return lines[format]
@@ -343,7 +346,7 @@ module LineCache
343
346
  def remap_file_lines(from_file, to_file, range, start)
344
347
  range = (range..range) if range.kind_of?(Fixnum)
345
348
  to_file = from_file unless to_file
346
- if @@file2file_remap_lines[to_file]
349
+ if @@file2file_remap_lines[to_file]
347
350
  # FIXME: need to check for overwriting ranges: whether
348
351
  # they intersect or one encompasses another.
349
352
  @@file2file_remap_lines[to_file] << [from_file, range, start]
@@ -351,12 +354,12 @@ module LineCache
351
354
  @@file2file_remap_lines[to_file] = [[from_file, range, start]]
352
355
  end
353
356
  end
354
-
357
+
355
358
  # Return SHA1 of filename.
356
359
  def sha1(filename)
357
360
  filename = map_file(filename)
358
361
  return nil unless @@file_cache.member?(filename)
359
- return @@file_cache[filename].sha1.hexdigest if
362
+ return @@file_cache[filename].sha1.hexdigest if
360
363
  @@file_cache[filename].sha1
361
364
  sha1 = Digest::SHA1.new
362
365
  @@file_cache[filename].lines[:plain].each do |line|
@@ -365,7 +368,7 @@ module LineCache
365
368
  @@file_cache[filename].sha1 = sha1
366
369
  sha1.hexdigest
367
370
  end
368
-
371
+
369
372
  # Return the number of lines in filename
370
373
  def size(file_or_iseq)
371
374
  cache(file_or_iseq)
@@ -396,21 +399,21 @@ module LineCache
396
399
  return nil unless fullname
397
400
  e = @@file_cache[filename]
398
401
  unless e.line_numbers
399
- e.line_numbers =
402
+ e.line_numbers =
400
403
  TraceLineNumbers.lnums_for_str_array(e.lines[:plain])
401
404
  e.line_numbers = false unless e.line_numbers
402
405
  end
403
406
  e.line_numbers
404
407
  end
405
-
408
+
406
409
  def map_file(file)
407
410
  @@file2file_remap[file] ? @@file2file_remap[file] : file
408
411
  end
409
412
 
410
413
  def map_iseq(iseq)
411
- if @@iseq2file[iseq]
412
- @@iseq2file[iseq]
413
- else
414
+ if @@iseq2file[iseq]
415
+ @@iseq2file[iseq]
416
+ else
414
417
  # Doc says there's new takes an optional string parameter
415
418
  # But it doesn't work for me
416
419
  sha1 = Digest::SHA1.new
@@ -428,8 +431,8 @@ module LineCache
428
431
  if @@file2file_remap_lines[file]
429
432
  @@file2file_remap_lines[file].each do |from_file, range, start|
430
433
  if range === line
431
- from_file = from_file || file
432
- return [from_file, start+line-range.begin]
434
+ from_file = from_file || file
435
+ return [from_file, start+line-range.begin]
433
436
  end
434
437
  end
435
438
  end
@@ -443,14 +446,14 @@ module LineCache
443
446
  module_function :iseq_is_eval?
444
447
 
445
448
  # Update a cache entry. If something is wrong, return nil. Return
446
- # true if the cache was updated and false if not.
449
+ # true if the cache was updated and false if not.
447
450
  def update_iseq_cache(iseq, opts)
448
451
  return false unless iseq_is_eval?(iseq)
449
452
  string = opts[:string] || iseq.eval_source
450
453
  lines = {:plain => string.split(/\n/)}
451
454
  lines[opts[:output]] = highlight_string(string, opts[:output]) if
452
455
  opts[:output]
453
- @@iseq_cache[iseq] =
456
+ @@iseq_cache[iseq] =
454
457
  LineCacheInfo.new(nil, nil, lines, nil, opts[:sha1])
455
458
  return true
456
459
  end
@@ -465,7 +468,7 @@ module LineCache
465
468
 
466
469
  @@file_cache.delete(filename)
467
470
  path = File.expand_path(filename)
468
-
471
+
469
472
  if File.exist?(path)
470
473
  stat = File.stat(path)
471
474
  elsif File.basename(filename) == filename
@@ -486,10 +489,10 @@ module LineCache
486
489
  fp.rewind
487
490
  lines = {:plain => fp.readlines}
488
491
  fp.close()
489
- lines[opts[:output]] =
490
- highlight_string(raw_string, opts[:output]).split(/\n/) if
492
+ lines[opts[:output]] =
493
+ highlight_string(raw_string, opts[:output]).split(/\n/) if
491
494
  opts[:output]
492
- rescue
495
+ rescue
493
496
  ## print '*** cannot open', path, ':', msg
494
497
  return nil
495
498
  end
@@ -501,15 +504,15 @@ module LineCache
501
504
  end
502
505
 
503
506
  # example usage
504
- if __FILE__ == $0
505
- def yes_no(var)
507
+ if __FILE__ == $0
508
+ def yes_no(var)
506
509
  return var ? "" : "not "
507
510
  end
508
511
 
509
512
  lines = LineCache::getlines(__FILE__)
510
513
  puts "#{__FILE__} has #{LineCache.size(__FILE__)} lines"
511
514
  line = LineCache::getline(__FILE__, 6)
512
- puts "The 6th line is\n#{line}"
515
+ puts "The 6th line is\n#{line}"
513
516
  line = LineCache::remap_file(__FILE__, 'another_name')
514
517
  puts LineCache::getline('another_name', 7)
515
518
 
@@ -517,23 +520,23 @@ if __FILE__ == $0
517
520
  LineCache::update_cache(__FILE__)
518
521
  LineCache::checkcache(__FILE__)
519
522
  puts "#{__FILE__} has #{LineCache::size(__FILE__)} lines"
520
- puts "#{__FILE__} trace line numbers:\n" +
523
+ puts "#{__FILE__} trace line numbers:\n" +
521
524
  "#{LineCache::trace_line_numbers(__FILE__).to_a.sort.inspect}"
522
- puts("#{__FILE__} is %scached." %
525
+ puts("#{__FILE__} is %scached." %
523
526
  yes_no(LineCache::cached?(__FILE__)))
524
527
  puts LineCache::stat(__FILE__).inspect
525
528
  puts "Full path: #{LineCache::path(__FILE__)}"
526
529
  LineCache::checkcache # Check all files in the cache
527
- LineCache::clear_file_cache
528
- puts("#{__FILE__} is now %scached." %
530
+ LineCache::clear_file_cache
531
+ puts("#{__FILE__} is now %scached." %
529
532
  yes_no(LineCache::cached?(__FILE__)))
530
533
  digest = SCRIPT_LINES__.select{|k,v| k =~ /digest.rb$/}
531
534
  puts digest.first[0] if digest
532
535
  line = LineCache::getline(__FILE__, 7)
533
- puts "The 7th line is\n#{line}"
536
+ puts "The 7th line is\n#{line}"
534
537
  LineCache::remap_file_lines(__FILE__, 'test2', (10..20), 6)
535
538
  puts LineCache::getline('test2', 10)
536
- puts "Remapped 10th line of test2 is\n#{line}"
539
+ puts "Remapped 10th line of test2 is\n#{line}"
537
540
  require 'thread_frame'
538
541
  puts eval("x=1
539
542
  LineCache::getline(RubyVM::ThreadFrame.current.iseq, 1)")
data/lib/tracelines.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # $Id: tracelines.rb 233 2010-12-18 23:12:20Z rockyb $
2
+ # $Id$
3
3
  # Copyright (C) 2007, 2008, 2009, 2010
4
4
  # Rocky Bernstein <rockyb@rubyforge.net>
5
5
  #
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # $Id: test-tracelines.rb 191 2010-04-21 22:02:50Z rockyb $
2
+ # $Id$
3
3
  require 'test/unit'
4
4
  require 'fileutils'
5
5
  require 'tempfile'
metadata CHANGED
@@ -1,51 +1,49 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: linecache-tf
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 0
8
- version: "1.0"
3
+ version: !ruby/object:Gem::Version
4
+ version: '1.2'
5
+ prerelease:
9
6
  platform: ruby
10
- authors:
7
+ authors:
11
8
  - R. Bernstein
12
9
  autorequire:
13
10
  bindir: bin
14
11
  cert_chain: []
15
-
16
- date: 2011-02-01 00:00:00 -05:00
17
- default_executable:
18
- dependencies:
19
- - !ruby/object:Gem::Dependency
12
+ date: 2014-11-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
20
15
  name: rb-threadframe
21
- prerelease: false
22
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
23
17
  none: false
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- - 32
30
- version: "0.32"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0.32'
31
22
  type: :runtime
32
- version_requirements: *id001
33
- description: |
34
- LineCache is a module for reading and caching lines. This may be useful for
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0.32'
30
+ description: ! 'LineCache is a module for reading and caching lines. This may be useful
31
+ for
32
+
35
33
  example in a debugger where the same lines are shown many times.
36
-
37
- This version works only with a patched version of Ruby 1.9.2 and rb-threadframe.
38
34
 
35
+
36
+ This version works only with a patched version of Ruby 1.9.2 or 1.9.3 and rb-threadframe.
37
+
38
+ '
39
39
  email: rockyb@rubyforge.net
40
40
  executables: []
41
-
42
41
  extensions: []
43
-
44
- extra_rdoc_files:
42
+ extra_rdoc_files:
45
43
  - README
46
44
  - lib/linecache.rb
47
45
  - lib/tracelines.rb
48
- files:
46
+ files:
49
47
  - AUTHORS
50
48
  - COPYING
51
49
  - ChangeLog
@@ -54,76 +52,67 @@ files:
54
52
  - Rakefile
55
53
  - lib/linecache.rb
56
54
  - lib/tracelines.rb
57
- - test/test-lnum.rb
58
- - test/test-tracelines.rb
59
- - test/parse-show.rb
60
- - test/test-linecache.rb
61
55
  - test/lnum-diag.rb
56
+ - test/parse-show.rb
62
57
  - test/rcov-bug.rb
63
- - test/data/if4.rb
58
+ - test/test-linecache.rb
59
+ - test/test-lnum.rb
60
+ - test/test-tracelines.rb
64
61
  - test/data/end.rb
65
- - test/data/if6.rb
66
- - test/data/begin3.rb
67
- - test/data/if3.rb
68
- - test/data/block2.rb
69
- - test/data/case2.rb
70
- - test/data/begin2.rb
71
62
  - test/data/each1.rb
72
- - test/data/if2.rb
73
- - test/data/case4.rb
74
- - test/data/if5.rb
75
- - test/data/if7.rb
63
+ - test/data/not-lit.rb
76
64
  - test/data/match.rb
77
- - test/data/def1.rb
65
+ - test/data/begin1.rb
66
+ - test/data/begin2.rb
67
+ - test/data/begin3.rb
68
+ - test/data/block1.rb
69
+ - test/data/block2.rb
78
70
  - test/data/case1.rb
71
+ - test/data/case2.rb
79
72
  - test/data/case3.rb
80
- - test/data/match3a.rb
81
- - test/data/for1.rb
73
+ - test/data/case4.rb
74
+ - test/data/case5.rb
82
75
  - test/data/class1.rb
83
- - test/data/not-lit.rb
84
76
  - test/data/comments1.rb
77
+ - test/data/def1.rb
78
+ - test/data/for1.rb
85
79
  - test/data/if1.rb
86
- - test/data/block1.rb
87
- - test/data/case5.rb
80
+ - test/data/if2.rb
81
+ - test/data/if3.rb
82
+ - test/data/if4.rb
83
+ - test/data/if5.rb
84
+ - test/data/if6.rb
85
+ - test/data/if7.rb
88
86
  - test/data/match3.rb
89
- - test/data/begin1.rb
87
+ - test/data/match3a.rb
90
88
  - test/short-file
91
- has_rdoc: true
92
89
  homepage: http://rubyforge.org/projects/rocky-hacks/linecache
93
- licenses:
90
+ licenses:
94
91
  - GPL2
95
92
  post_install_message:
96
- rdoc_options:
93
+ rdoc_options:
97
94
  - --main
98
95
  - README
99
96
  - --title
100
- - LineCache 1.0 Documentation
101
- require_paths:
97
+ - LineCache 1.2 Documentation
98
+ require_paths:
102
99
  - lib
103
- required_ruby_version: !ruby/object:Gem::Requirement
100
+ required_ruby_version: !ruby/object:Gem::Requirement
104
101
  none: false
105
- requirements:
106
- - - ~>
107
- - !ruby/object:Gem::Version
108
- segments:
109
- - 1
110
- - 9
111
- - 2
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
112
105
  version: 1.9.2
113
- required_rubygems_version: !ruby/object:Gem::Requirement
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
107
  none: false
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- segments:
119
- - 0
120
- version: "0"
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
121
112
  requirements: []
122
-
123
- rubyforge_project: columnize
124
- rubygems_version: 1.3.7
113
+ rubyforge_project: rocky-hacks
114
+ rubygems_version: 1.8.23
125
115
  signing_key:
126
116
  specification_version: 3
127
- summary: Module to format an Array as an Array of String aligned in columns
117
+ summary: Module to read and cache Ruby program files and file information
128
118
  test_files: []
129
-