tree.rb 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
data/lib/tree_rb.rb CHANGED
@@ -18,6 +18,9 @@ require 'ansi/code'
18
18
  #
19
19
 
20
20
  require "tree_rb/version"
21
+ require "tree_rb/extension_md5"
22
+ require "tree_rb/extension_numeric"
23
+
21
24
  require "tree_rb/abs_node"
22
25
  require 'tree_rb/leaf_node'
23
26
  require 'tree_rb/tree_node'
@@ -130,10 +130,6 @@ module TreeRb
130
130
  not_implemented
131
131
  end
132
132
 
133
- def to_s
134
- @content.to_s
135
- end
136
-
137
133
  protected
138
134
 
139
135
  def parent=(parent)
@@ -22,7 +22,7 @@ module TreeRb
22
22
  opts.separator ""
23
23
  opts.separator "options: "
24
24
 
25
- opts.on("-h", "--help", "Show this message") do
25
+ opts.on("--help", "Show this message") do
26
26
  puts opts
27
27
  return 0
28
28
  end
@@ -78,6 +78,25 @@ module TreeRb
78
78
  options[:show_size] = true
79
79
  end
80
80
 
81
+ msg =<<-EOS
82
+ Print the size of each file but in a more human readable way, e.g. appending a size letter for kilobytes (K),
83
+ megabytes (M), gigabytes (G), terrabytes (T), petabytes (P) and exabytes (E).
84
+ EOS
85
+
86
+ opts.on("-h", msg) do
87
+ options[:show_size_human] = true
88
+ end
89
+
90
+ options[:show_indentation] = true
91
+ opts.on("-i", "Makes tree not print the indentation lines, useful when used in conjunction with the -f option.") do
92
+ options[:show_indentation] = false
93
+ end
94
+
95
+ options[:show_md5] = false
96
+ opts.on("--md5", "show md5 of file") do
97
+ options[:show_md5] = true
98
+ end
99
+
81
100
  begin
82
101
  rest = opts.parse(argv)
83
102
  rescue OptionParser::InvalidOption => e
@@ -96,6 +115,9 @@ module TreeRb
96
115
  dirname = rest[0]
97
116
  end
98
117
 
118
+
119
+
120
+
99
121
  dirname = File.expand_path(dirname)
100
122
 
101
123
  dtw = DirTreeWalker.new(dirname)
@@ -108,16 +130,14 @@ module TreeRb
108
130
  case options[:algo]
109
131
 
110
132
  when 'build-dir'
111
- # TODO: capture CTRL^C
133
+ # TODO: capture CTRL^C to avoid show the stack trace
112
134
  # http://ruby-doc.org/core-1.9.3/Kernel.html#method-i-trap
113
135
  Signal.trap('INT') { put "User interrupted exit"; exit }
114
136
 
115
- visitor = BuildDirTreeVisitor.new
116
- visitor.show_size = options[:show_size]
117
-
137
+ visitor = BuildDirTreeVisitor.new(options)
118
138
  dtw.run(visitor)
119
139
 
120
- puts visitor.root.to_str('', options[:colorize])
140
+ puts visitor.root.to_str('', options)
121
141
  puts
122
142
  puts "#{visitor.nr_directories} directories, #{visitor.nr_files} files"
123
143
 
@@ -0,0 +1,29 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # calculate md5 of big files, snipped found on usenet
4
+ #
5
+
6
+ if RUBY_VERSION =~ /1\.8/
7
+ # std lib
8
+ require 'md5'
9
+ else
10
+ # std lib
11
+ require 'digest/md5'
12
+ include Digest
13
+ end
14
+
15
+ # Return an MD5 object
16
+ # example:
17
+ # MD5.file( filename ).hexdigest
18
+ #
19
+ class MD5
20
+ def self.file(file)
21
+ File.open(file, "rb") do |f|
22
+ res = self.new
23
+ while (data = f.read(4096))
24
+ res << data
25
+ end
26
+ res
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+ class Numeric
3
+ #
4
+ # returns a string separated by the thousands <separator>
5
+ # es.: 100000 -> 1.000.000
6
+ #
7
+ def with_separator(separator = ',', length = 3)
8
+ splitter = Regexp.compile "(\\d{#{length}})"
9
+ before, after = self.to_s.split('.')
10
+ before = before.reverse.gsub splitter, '\1' + separator
11
+ str = "#{ before.chomp(separator).reverse }"
12
+ str += ".#{ after }" if after
13
+ str
14
+ end
15
+
16
+ def to_human
17
+ if self == 0
18
+ return "0B"
19
+ end
20
+ units = %w{B KB MB GB TB}
21
+
22
+ e = (Math.log(self)/Math.log(1024)).floor
23
+ s = "%.3f" % (to_f / 1024**e)
24
+ s.sub(/\.?0*$/, units[e])
25
+ end
26
+
27
+ end
@@ -90,7 +90,7 @@ module TreeRb
90
90
  end
91
91
  leaf_node
92
92
  end
93
- end # end class << self
93
+ end # end class << self
94
94
 
95
95
  # leaves of this node
96
96
  attr_reader :leaves
@@ -249,56 +249,106 @@ module TreeRb
249
249
  # TODO: integrate with ansi color
250
250
  # TODO: see dircolors command
251
251
  # http://isthe.com/chongo/tech/comp/ansi_escapes.html
252
+
252
253
  # puts "\033[2J" # clear screen
253
- # puts "aaaa \033[7;31;40m ciao \033[0m"
254
254
  # ESC[K Clear to end of line
255
+ # puts "aaaa \033[7;31;40m ciao \033[0m"
256
+
257
+
258
+ #
259
+ # check console character encoding
260
+ # altre variabili LC_CTYPE
261
+ # LC_ALL
262
+ # comando locale
263
+ # puts "enconding: #{ENV['LANG']}"
264
+ #
265
+
266
+
267
+ # │ (ascii 179)
268
+ # ├ (ascii 195)
269
+ # └ (ascii 192)
270
+ # ─ (ascii 196)
271
+
255
272
 
256
- def to_str(prefix= "", tty_color = false)
257
- str = ""
273
+ BRANCH = '|-- '
274
+ LAST_BRANCH = '`-- '
275
+ CONT_1 = "| "
276
+ CONT_2 = " "
277
+
278
+ def to_str(prefix= "", options = { })
279
+ #TODO: find a more idiomatic mode to assign an array of options
280
+ tty_color = options[:colorize].nil? ? false : options[:colorize]
281
+ show_indentation = options[:show_indentation].nil? ? true : options[:show_indentation]
282
+ str = ""
258
283
 
259
284
  # print node itself
260
285
  if root?
261
- if tty_color
262
- str << ANSI.red{ to_s } << "\n"
263
- else
264
- str << to_s << "\n"
265
- end
286
+ str << node_content_to_str(content, options)
266
287
  else
267
- str << prefix
268
- if self.next
269
- str << '|-- '
270
- else
271
- str << '`-- '
288
+
289
+ if show_indentation
290
+ str << prefix
291
+ if self.next
292
+ str << BRANCH
293
+ else
294
+ str << LAST_BRANCH
295
+ end
272
296
  end
273
- if tty_color
274
- str << ANSI.red{ to_s } << "\n"
275
- else
276
- str << to_s << "\n"
297
+
298
+ str << node_content_to_str(content, options)
299
+ if show_indentation
300
+ prefix += self.next ? CONT_1 : CONT_2
277
301
  end
278
- prefix += self.next ? "| " : " "
279
302
  end
280
303
 
281
304
  # print leaves
282
305
  @leaves.each do |leaf|
283
- str << prefix
284
- if !leaf.next.nil? or !@children.empty?
285
- str << '|-- '
286
- else
287
- str << '`-- '
288
- end
289
- if tty_color
290
- str << ANSI.green{ leaf.to_s } << "\n"
291
- else
292
- str << leaf.to_s << "\n"
306
+
307
+ if show_indentation
308
+ str << prefix
309
+ if !leaf.next.nil? or !@children.empty?
310
+ str << BRANCH
311
+ else
312
+ str << LAST_BRANCH
313
+ end
293
314
  end
315
+
316
+ str << leaf_content_to_str(leaf.content, options)
294
317
  end
295
318
 
296
319
  # print children
297
320
  @children.each do |child|
298
- str << child.to_str(prefix, tty_color)
321
+ str << child.to_str(prefix, options)
299
322
  end
300
323
  str
301
324
  end
302
325
 
303
- end
304
- end
326
+ def self.method_added(s)
327
+ if s == :to_str
328
+ puts "Warning: you should not override method 'to_str'"
329
+ else
330
+ super
331
+ end
332
+ end
333
+
334
+ private
335
+
336
+ def node_content_to_str(content, options)
337
+ if options[:tty_color]
338
+ "#{ANSI.red { content }}\n"
339
+ else
340
+ "#{content}\n"
341
+ end
342
+ end
343
+
344
+ def leaf_content_to_str(content, options)
345
+ if options[:tty_color]
346
+ "#{ANSI.green { content }}\n"
347
+ else
348
+ "#{content}\n"
349
+ end
350
+ end
351
+
352
+
353
+ end # end class
354
+ end # end module TreeRb
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  module TreeRb
3
- VERSION="0.3.2"
3
+ VERSION="0.3.3"
4
4
  end
@@ -1,11 +1,51 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  module TreeRb
3
3
 
4
+ #
5
+ # contains informataion related to directory (TreeNode)
6
+ #
7
+ class ContentDir
8
+ def initialize( basename, options )
9
+ @basename = basename
10
+ @options = options
11
+ end
12
+ def to_str
13
+ @basename
14
+ end
15
+ end
16
+
17
+ #
18
+ # contains information related to file (LeafNode)
19
+ #
20
+ class ContentFile
21
+ def initialize( pathname, options )
22
+ stat = File.lstat(pathname)
23
+ # stat.symlink?
24
+
25
+ if options[:show_size]
26
+ str = "#{File.basename(pathname)} #{stat.size}"
27
+ elsif options[:show_size_human]
28
+ str = "#{File.basename(pathname)} #{stat.size.to_human}"
29
+ else
30
+ str = "#{File.basename(pathname)}"
31
+ end
32
+
33
+ if options[:show_md5]
34
+ str << " #{MD5.file( pathname ).hexdigest}"
35
+ end
36
+ @str = str
37
+
38
+ end
39
+ def to_str
40
+ @str
41
+ end
42
+ end
43
+
4
44
  #
5
45
  # Builds a TreeNode from a filesystem directory
6
46
  # It similar to CloneTreeNodeVisitor
7
47
  #
8
- class BuildDirTreeVisitor # < BasicTreeNodeVisitor
48
+ class BuildDirTreeVisitor
9
49
 
10
50
  attr_reader :root
11
51
 
@@ -19,23 +59,22 @@ module TreeRb
19
59
  # @see AbsNode#nr_leaves
20
60
  #
21
61
  attr_reader :nr_files
22
-
23
- attr_accessor :show_size
24
-
25
- def initialize
26
- super
62
+
63
+ def initialize(options = {})
27
64
  @root = nil
28
65
  @stack = []
29
66
  @nr_directories = 0
30
67
  @nr_files = 0
68
+ @options = options
31
69
  end
32
70
 
33
71
  def enter_node( pathname )
72
+ content = ContentDir.new(File.basename( pathname ), @options)
34
73
  if @stack.empty?
35
- tree_node = TreeNode.new( File.basename( pathname ) )
74
+ tree_node = TreeNode.new( content )
36
75
  @root = tree_node
37
76
  else
38
- tree_node = TreeNode.new( File.basename( pathname ), @stack.last )
77
+ tree_node = TreeNode.new( content, @stack.last )
39
78
  end
40
79
  @nr_directories += 1
41
80
  @stack.push( tree_node )
@@ -49,16 +88,10 @@ module TreeRb
49
88
  end
50
89
 
51
90
  def visit_leaf( pathname )
52
- @nr_files += 1
91
+ content = ContentFile.new(pathname, @options)
53
92
  # connect the leaf_node created to the last tree_node on the stack
54
- stat = File.lstat(pathname)
55
- # stat.symlink?
56
- if show_size
57
- str = "#{File.basename(pathname)} #{stat.size}"
58
- else
59
- str = "#{File.basename(pathname)}"
60
- end
61
- LeafNode.new( str, @stack.last )
93
+ @nr_files += 1
94
+ LeafNode.new( content, @stack.last )
62
95
  end
63
96
 
64
97
  end
data/lib/tree_rb_cli.rb CHANGED
@@ -1,18 +1,22 @@
1
1
  # -*- coding: utf-8 -*-
2
+
2
3
  #
3
- # cli
4
+ # stdlib
4
5
  #
5
-
6
6
  require 'optparse'
7
- require 'treevisitor'
7
+
8
+ #
9
+ # gem
10
+ #
8
11
 
9
12
  begin
10
- require 'Win32/Console/ANSI' if RUBY_PLATFORM =~ /win32/
13
+ require 'Win32/Console/ANSI'
11
14
  rescue LoadError
12
15
  puts 'You must gem install win32console to use color on Windows'
13
16
  end
14
17
 
15
18
  #
16
- # gem
19
+ # tree_rb cli
17
20
  #
21
+ require 'tree_rb'
18
22
  require "tree_rb/cli/cli_tree"
data/lib/tree_visitor.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  # -*- coding: utf-8 -*-
2
- require 'treevisitor'
2
+ warn "use require 'tree_rb' instead of require 'treevisitor'"
3
+ require 'treevisitor'
data/lib/treevisitor.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  # -*- coding: utf-8 -*-
2
+ warn "use require 'tree_rb' instead of require 'treevisitor'"
2
3
  require 'tree_rb'
data/spec/spec_helper.rb CHANGED
@@ -5,8 +5,8 @@
5
5
  require "stringio"
6
6
 
7
7
  $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
8
- require 'treevisitor'
9
- require 'treevisitor_cli'
8
+ require 'tree_rb'
9
+ require 'tree_rb_cli'
10
10
  include TreeRb
11
11
 
12
12
  FIXTURES = File.expand_path( File.join( File.dirname(__FILE__), "fixtures" ) )
@@ -5,7 +5,7 @@ describe CliTree do
5
5
 
6
6
  it "help message" do
7
7
  out = with_output_captured do
8
- args = %w{-h}
8
+ args = %w{--help}
9
9
  CliTree.new.parse_args(args)
10
10
  end
11
11
  out[:stdout].should match /Usage:/
@@ -7,26 +7,22 @@ describe "Tree Node Dsl Derived Class with n-arg constructor" do
7
7
  attr_reader :description
8
8
 
9
9
  def initialize(name, description, parent)
10
- super(name, parent)
11
- @description = description
10
+ content = "a: #{description}"
11
+ super(content, parent)
12
+ @description = description
12
13
  end
13
14
 
14
- def to_s
15
- "a: #{description}"
16
- end
17
15
  end
18
16
 
19
17
  class ArgsLeafNode < LeafNode
20
18
  attr_reader :description
21
19
 
22
20
  def initialize(name, description, parent)
23
- super(name, parent)
24
- @description = description
21
+ content = "a: #{description}"
22
+ super(content, parent)
23
+ @description = description
25
24
  end
26
25
 
27
- def to_s
28
- "a: #{description}"
29
- end
30
26
  end
31
27
 
32
28
  it "test_derivated_args" do
@@ -4,14 +4,14 @@ require File.join(File.dirname(__FILE__), "..", "spec_helper")
4
4
  describe "Tree Node Dsl Derived Class with no-arg constructor " do
5
5
 
6
6
  class DTreeNode < TreeNode
7
- def to_s
8
- "dt: #{content}"
7
+ def content
8
+ "dt: #{super}"
9
9
  end
10
10
  end
11
11
 
12
12
  class DLeafNode < LeafNode
13
- def to_s
14
- "dl: #{content}"
13
+ def content
14
+ "dl: #{super}"
15
15
  end
16
16
  end
17
17
 
@@ -26,7 +26,7 @@ describe "Tree Node Dsl Derived Class with no-arg constructor " do
26
26
  end
27
27
  end
28
28
 
29
- # puts tree.to_str
29
+ puts tree.to_str
30
30
  out =<<EOS
31
31
  dt: root
32
32
  |-- dl: l1
data/tree.rb.gemspec CHANGED
@@ -26,10 +26,18 @@ An example of DSL to build tree:
26
26
  </pre>
27
27
  EOF
28
28
 
29
- gem.authors = ["Tokiro"]
29
+ gem.authors = %w{ Tokiro }
30
30
  gem.email = "tokiro.oyama@gmail.com"
31
31
  gem.homepage = "http://github.com/tokiro/tree.rb"
32
- gem.require_paths = ["lib"]
32
+
33
+ gem.post_install_message = %q{
34
+
35
+ Thank you to have installed tree.rb, any feedback is appreciated.
36
+
37
+ }
38
+
39
+
40
+ gem.require_paths = %w{ lib }
33
41
 
34
42
  #
35
43
  # dependencies
@@ -38,6 +46,10 @@ An example of DSL to build tree:
38
46
  gem.add_runtime_dependency(%q<json>, [">= 0"])
39
47
  gem.add_runtime_dependency(%q<ansi>, [">= 0"])
40
48
 
49
+ # win32 depends on win32console.gem but this must be installed from ext/mkrf_conf.rb
50
+ # gem.add_runtime_dependency(%q<win32console>, [">= 0"])
51
+ #
52
+
41
53
  gem.add_development_dependency(%q<rake>, [">= 0"])
42
54
  gem.add_development_dependency(%q<yard>, [">= 0"])
43
55
  gem.add_development_dependency(%q<bundler>, [">= 0"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tree.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-16 00:00:00.000000000 Z
12
+ date: 2012-08-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -124,63 +124,66 @@ files:
124
124
  - Rakefile
125
125
  - tree.rb.gemspec
126
126
  - .gemtest
127
- - lib/treevisitor.rb
127
+ - lib/treevisitor_cli.rb
128
128
  - lib/tree_visitor.rb
129
- - lib/tree_rb_cli.rb
129
+ - lib/tree_rb/cli/cli_tree.rb
130
130
  - lib/tree_rb/util/dir_processor.rb
131
- - lib/tree_rb/abs_node.rb
132
- - lib/tree_rb/version.rb
133
131
  - lib/tree_rb/directory_walker.rb
134
- - lib/tree_rb/tree_node.rb
135
- - lib/tree_rb/basic_tree_node_visitor.rb
136
- - lib/tree_rb/tree_node_visitor.rb
137
- - lib/tree_rb/cli/cli_tree.rb
138
- - lib/tree_rb/visitors/block_tree_node_visitor.rb
139
- - lib/tree_rb/visitors/flat_print_tree_node_visitors.rb
140
- - lib/tree_rb/visitors/clone_tree_node_visitor.rb
132
+ - lib/tree_rb/visitors/print_dir_tree_visitor.rb
141
133
  - lib/tree_rb/visitors/build_dir_tree_visitor.rb
142
- - lib/tree_rb/visitors/directory_to_hash_visitor.rb
143
134
  - lib/tree_rb/visitors/depth_tree_node_visitor.rb
144
- - lib/tree_rb/visitors/callback_tree_node_visitor2.rb
145
135
  - lib/tree_rb/visitors/print_tree_node_visitor.rb
146
- - lib/tree_rb/visitors/print_dir_tree_visitor.rb
136
+ - lib/tree_rb/visitors/callback_tree_node_visitor2.rb
137
+ - lib/tree_rb/visitors/directory_to_hash_visitor.rb
138
+ - lib/tree_rb/visitors/flat_print_tree_node_visitors.rb
139
+ - lib/tree_rb/visitors/block_tree_node_visitor.rb
140
+ - lib/tree_rb/visitors/clone_tree_node_visitor.rb
141
+ - lib/tree_rb/abs_node.rb
142
+ - lib/tree_rb/extension_numeric.rb
147
143
  - lib/tree_rb/leaf_node.rb
144
+ - lib/tree_rb/tree_node_visitor.rb
145
+ - lib/tree_rb/tree_node.rb
146
+ - lib/tree_rb/basic_tree_node_visitor.rb
147
+ - lib/tree_rb/version.rb
148
+ - lib/tree_rb/extension_md5.rb
149
+ - lib/treevisitor.rb
148
150
  - lib/tree_rb.rb
149
- - lib/treevisitor_cli.rb
151
+ - lib/tree_rb_cli.rb
150
152
  - tasks/rspec.rake
151
153
  - tasks/yard.rake
154
+ - examples/directory_walker/print_files.rb
152
155
  - examples/directory_walker/directory_without_subdirectory.rb
153
156
  - examples/directory_walker/find_files.rb
154
- - examples/directory_walker/print_files.rb
155
- - examples/protovis/treevisitor.js
157
+ - examples/protovis/treevisitor.png
156
158
  - examples/protovis/protovis-r3.2.js
157
159
  - examples/protovis/index.html
158
- - examples/protovis/treevisitor.png
160
+ - examples/protovis/treevisitor.js
159
161
  - examples/protovis/directory_to_json_visitor.rb
160
- - spec/tree_rb/tree_node_paths_spec.rb
161
- - spec/tree_rb/util/dir_processor_spec.rb
162
- - spec/tree_rb/tree_node_spec.rb
163
- - spec/tree_rb/directory_walker_spec.rb
164
- - spec/tree_rb/tree_dsl_spec.rb
165
- - spec/tree_rb/tree_dsl_with_derived_class1_spec.rb
162
+ - spec/spec_helper.rb
166
163
  - spec/tree_rb/cli/cli_tree_spec.rb
164
+ - spec/tree_rb/util/dir_processor_spec.rb
167
165
  - spec/tree_rb/visitors/depth_tree_node_visitor_spec.rb
168
- - spec/tree_rb/visitors/tree_node_visitors_spec.rb
169
- - spec/tree_rb/visitors/block_tree_node_visitor_spec.rb
170
166
  - spec/tree_rb/visitors/callback_tree_node_visitor2_spec.rb
167
+ - spec/tree_rb/visitors/block_tree_node_visitor_spec.rb
168
+ - spec/tree_rb/visitors/tree_node_visitors_spec.rb
171
169
  - spec/tree_rb/tree_dsl_with_derived_class_spec.rb
170
+ - spec/tree_rb/directory_walker_spec.rb
171
+ - spec/tree_rb/tree_dsl_spec.rb
172
+ - spec/tree_rb/tree_node_paths_spec.rb
173
+ - spec/tree_rb/tree_dsl_with_derived_class1_spec.rb
172
174
  - spec/tree_rb/tree_node_visitor_delegate_spec.rb
175
+ - spec/tree_rb/tree_node_spec.rb
173
176
  - spec/tree_rb/tree_node_visitor_dsl_spec.rb
174
- - spec/spec_helper.rb
175
- - spec/fixtures/test_dir_1/dir.2/file.2.1
176
- - spec/fixtures/test_dir_1/dir.1/file.1.1
177
177
  - spec/fixtures/test_dir_1/dir.1/dir.1.2/file.1.2.1
178
+ - spec/fixtures/test_dir_1/dir.1/file.1.1
179
+ - spec/fixtures/test_dir_1/dir.2/file.2.1
178
180
  - spec/fixtures/test_dir_2/[Dsube]/sub/.gitkeep
179
181
  - spec/fixtures/test_dir_1/.dir_with_dot/dummy.txt
180
182
  - bin/tree.rb
181
183
  homepage: http://github.com/tokiro/tree.rb
182
184
  licenses: []
183
- post_install_message:
185
+ post_install_message: ! "\n\n Thank you to have installed tree.rb, any feedback is
186
+ appreciated.\n\n"
184
187
  rdoc_options: []
185
188
  require_paths:
186
189
  - lib
@@ -190,18 +193,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
193
  - - ! '>='
191
194
  - !ruby/object:Gem::Version
192
195
  version: '0'
193
- segments:
194
- - 0
195
- hash: 3293516785273926334
196
196
  required_rubygems_version: !ruby/object:Gem::Requirement
197
197
  none: false
198
198
  requirements:
199
199
  - - ! '>='
200
200
  - !ruby/object:Gem::Version
201
201
  version: '0'
202
- segments:
203
- - 0
204
- hash: 3293516785273926334
205
202
  requirements: []
206
203
  rubyforge_project:
207
204
  rubygems_version: 1.8.24
@@ -210,24 +207,24 @@ specification_version: 3
210
207
  summary: tree.rb is a 'clone' of tree unix command. The gem implements a library to
211
208
  mange tree structures.
212
209
  test_files:
213
- - spec/tree_rb/tree_node_paths_spec.rb
214
- - spec/tree_rb/util/dir_processor_spec.rb
215
- - spec/tree_rb/tree_node_spec.rb
216
- - spec/tree_rb/directory_walker_spec.rb
217
- - spec/tree_rb/tree_dsl_spec.rb
218
- - spec/tree_rb/tree_dsl_with_derived_class1_spec.rb
210
+ - spec/spec_helper.rb
219
211
  - spec/tree_rb/cli/cli_tree_spec.rb
212
+ - spec/tree_rb/util/dir_processor_spec.rb
220
213
  - spec/tree_rb/visitors/depth_tree_node_visitor_spec.rb
221
- - spec/tree_rb/visitors/tree_node_visitors_spec.rb
222
- - spec/tree_rb/visitors/block_tree_node_visitor_spec.rb
223
214
  - spec/tree_rb/visitors/callback_tree_node_visitor2_spec.rb
215
+ - spec/tree_rb/visitors/block_tree_node_visitor_spec.rb
216
+ - spec/tree_rb/visitors/tree_node_visitors_spec.rb
224
217
  - spec/tree_rb/tree_dsl_with_derived_class_spec.rb
218
+ - spec/tree_rb/directory_walker_spec.rb
219
+ - spec/tree_rb/tree_dsl_spec.rb
220
+ - spec/tree_rb/tree_node_paths_spec.rb
221
+ - spec/tree_rb/tree_dsl_with_derived_class1_spec.rb
225
222
  - spec/tree_rb/tree_node_visitor_delegate_spec.rb
223
+ - spec/tree_rb/tree_node_spec.rb
226
224
  - spec/tree_rb/tree_node_visitor_dsl_spec.rb
227
- - spec/spec_helper.rb
228
- - spec/fixtures/test_dir_1/dir.2/file.2.1
229
- - spec/fixtures/test_dir_1/dir.1/file.1.1
230
225
  - spec/fixtures/test_dir_1/dir.1/dir.1.2/file.1.2.1
226
+ - spec/fixtures/test_dir_1/dir.1/file.1.1
227
+ - spec/fixtures/test_dir_1/dir.2/file.2.1
231
228
  - spec/fixtures/test_dir_2/[Dsube]/sub/.gitkeep
232
229
  - spec/fixtures/test_dir_1/.dir_with_dot/dummy.txt
233
230
  has_rdoc: