tree.rb 0.3.9 → 0.3.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -74,7 +74,7 @@ module TreeRb
74
74
  options[:show_indentation] = false
75
75
  end
76
76
 
77
- algos = %w[build-dir print-dir json d3js html_partition yaml sqlite]
77
+ algos = %w[build-dir print-dir json d3js html_partition html_tree html_treemap yaml sqlite]
78
78
  # algo_aliases = { "b" => "build-dir", "v" => "print-dir", "j" => "json", "y" => "yaml", "s" => "sqlite" }
79
79
  # algo_list = (algo_aliases.keys + algos).join(',')
80
80
  parser.on("--format ALGO", algos, "select an algo", " (#{algos})") do |algo|
@@ -231,18 +231,18 @@ module TreeRb
231
231
  # 1. build dir tree walker
232
232
  #
233
233
  dirname = File.expand_path(dirname)
234
- dtw = DirTreeWalker.new(dirname, options)
234
+ directory_tree_walker = DirTreeWalker.new(dirname, options)
235
235
  unless options[:all_files]
236
- dtw.ignore(/^\.[^.]+/) # ignore all file starting with "."
236
+ directory_tree_walker.ignore(/^\.[^.]+/) # ignore all file starting with "."
237
237
  end
238
- dtw.visit_file = !options[:only_directories]
238
+ directory_tree_walker.visit_file = !options[:only_directories]
239
239
 
240
240
  case options[:algo]
241
241
 
242
242
  when 'build-dir'
243
243
 
244
244
  visitor = BuildDirTreeVisitor.new(options)
245
- dtw.run(visitor)
245
+ directory_tree_walker.run(visitor)
246
246
 
247
247
  output.puts visitor.root.to_str('', options)
248
248
 
@@ -253,11 +253,11 @@ module TreeRb
253
253
 
254
254
  when 'print-dir'
255
255
  visitor = PrintDirTreeVisitor.new
256
- dtw.run(visitor)
256
+ directory_tree_walker.run(visitor)
257
257
 
258
258
  when 'json'
259
259
  visitor = DirectoryToHashVisitor.new(dirname)
260
- root = dtw.run(visitor).root
260
+ root = directory_tree_walker.run(visitor).root
261
261
  begin
262
262
  output.puts JSON.pretty_generate(root)
263
263
  rescue JSON::NestingError => e
@@ -266,7 +266,7 @@ module TreeRb
266
266
 
267
267
  when 'd3js'
268
268
  visitor = DirectoryToHash2Visitor.new(dirname)
269
- root = dtw.run(visitor).root
269
+ root = directory_tree_walker.run(visitor).root
270
270
  begin
271
271
  str_json = JSON.pretty_generate(root)
272
272
  str_json = "var data = " + str_json
@@ -276,21 +276,17 @@ module TreeRb
276
276
  end
277
277
 
278
278
  when 'html_partition'
279
- visitor = DirectoryToHash2Visitor.new(dirname)
280
- root = dtw.run(visitor).root
281
- begin
282
- str_json = JSON.pretty_generate(root)
283
- str_json = "var data = " + str_json
279
+ D3jsHelper.new.run(directory_tree_walker, dirname,"d3js_layout_partition.erb", output)
284
280
 
285
- render = ErbRender.new("d3js_layout_partition.erb", str_json)
286
- output.puts render.render
287
- rescue JSON::NestingError => e
288
- $stderr.puts "#{File.basename(__FILE__)}:#{__LINE__} #{e.to_s}"
289
- end
281
+ when 'html_tree'
282
+ D3jsHelper.new.run(directory_tree_walker, dirname,"d3js_layout_tree.erb", output)
283
+
284
+ when 'html_treemap'
285
+ D3jsHelper.new.run(directory_tree_walker, dirname,"d3js_layout_treemap.erb", output)
290
286
 
291
287
  when 'yaml'
292
288
  visitor = DirectoryToHashVisitor.new(dirname)
293
- root = dtw.run(visitor).root
289
+ root = directory_tree_walker.run(visitor).root
294
290
  output.puts root.to_yaml
295
291
 
296
292
  when 'sqlite'
@@ -305,7 +301,7 @@ module TreeRb
305
301
  #start = Time.now
306
302
  #me = self
307
303
  #bytes = 0
308
- dtw.run(visitor)
304
+ directory_tree_walker.run(visitor)
309
305
  end
310
306
 
311
307
  rescue LoadError
@@ -0,0 +1,20 @@
1
+ # -*- coding: utf-8 -*-
2
+ module TreeRb
3
+
4
+ class D3jsHelper
5
+
6
+ def run(directory_tree_walker, dirname, template, output)
7
+ visitor = DirectoryToHash2Visitor.new(dirname)
8
+ root = directory_tree_walker.run(visitor).root
9
+ begin
10
+ str_json = JSON.pretty_generate(root)
11
+ str_json = "var data = " + str_json
12
+
13
+ render = ErbRender.new(template, str_json)
14
+ output.puts render.render
15
+ rescue JSON::NestingError => e
16
+ $stderr.puts "#{File.basename(__FILE__)}:#{__LINE__} #{e.to_s}"
17
+ end
18
+ end
19
+ end
20
+ end # module
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  module TreeRb
3
- VERSION="0.3.9"
3
+ VERSION="0.3.10"
4
4
  end
@@ -14,6 +14,7 @@ require 'erb'
14
14
  # tree_rb cli
15
15
  #
16
16
  require 'tree_rb'
17
+ require 'tree_rb/d3js_helper'
17
18
  require 'tree_rb/erb_render'
18
19
  require 'tree_rb/cli/cli_tree'
19
20
  require 'tree_rb/cli/cli_json'
@@ -0,0 +1,32 @@
1
+ # -*- coding: utf-8 -*-
2
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
3
+
4
+ describe CliTree do
5
+
6
+ it "should accepts --format html_partition" do
7
+ captured = capture_output do
8
+ args = %w{--format html_partition}
9
+ args << File.join(FIXTURES, "test_dir_1")
10
+ CliTree.new.parse_args(args)
11
+ end
12
+ captured.out.should match /d3.layout.partition/
13
+ end
14
+
15
+ it "should accepts --format html_tree" do
16
+ captured = capture_output do
17
+ args = %w{--format html_tree}
18
+ args << File.join(FIXTURES, "test_dir_1")
19
+ CliTree.new.parse_args(args)
20
+ end
21
+ captured.out.should match /d3.layout.tree/
22
+ end
23
+
24
+ it "should accepts --format html_treemap" do
25
+ captured = capture_output do
26
+ args = %w{--format html_treemap}
27
+ args << File.join(FIXTURES, "test_dir_1")
28
+ CliTree.new.parse_args(args)
29
+ end
30
+ captured.out.should match /d3.layout.treemap/
31
+ end
32
+ end
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.9
4
+ version: 0.3.10
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-09-16 00:00:00.000000000 Z
12
+ date: 2012-09-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -168,6 +168,7 @@ files:
168
168
  - lib/tree_rb/extension_digest.rb
169
169
  - lib/tree_rb/tree_node_visitor.rb
170
170
  - lib/tree_rb/tree_node.rb
171
+ - lib/tree_rb/d3js_helper.rb
171
172
  - lib/tree_rb/basic_tree_node_visitor.rb
172
173
  - lib/tree_rb/erb_render.rb
173
174
  - lib/tree_rb/version.rb
@@ -197,6 +198,7 @@ files:
197
198
  - spec/tree_rb/cli/cli_tree_sqlite_spec.rb
198
199
  - spec/tree_rb/cli/cli_tree_digest_spec.rb
199
200
  - spec/tree_rb/cli/cli_tree_generic_spec.rb
201
+ - spec/tree_rb/cli/cli_tree_d3js_spec.rb
200
202
  - spec/tree_rb/cli/cli_json_spec.rb
201
203
  - spec/tree_rb/util/dir_processor_spec.rb
202
204
  - spec/tree_rb/visitors/depth_tree_node_visitor_spec.rb
@@ -253,6 +255,7 @@ test_files:
253
255
  - spec/tree_rb/cli/cli_tree_sqlite_spec.rb
254
256
  - spec/tree_rb/cli/cli_tree_digest_spec.rb
255
257
  - spec/tree_rb/cli/cli_tree_generic_spec.rb
258
+ - spec/tree_rb/cli/cli_tree_d3js_spec.rb
256
259
  - spec/tree_rb/cli/cli_json_spec.rb
257
260
  - spec/tree_rb/util/dir_processor_spec.rb
258
261
  - spec/tree_rb/visitors/depth_tree_node_visitor_spec.rb