tree.rb 0.3.9 → 0.3.10

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.
@@ -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