dir_tree 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 84873dccd596c686c89def1fc2d86e0b56eb3b85
4
- data.tar.gz: 45225e5e0f017ff172f8b1ae24d019d0bd439e7f
3
+ metadata.gz: 1b71fb0a2267aa64732961e6221c730c48602336
4
+ data.tar.gz: d8f922814449ea5888e551e1fadb6c514fe88fb3
5
5
  SHA512:
6
- metadata.gz: 897ea9284e0e4d3adb99175ab6d0138721c220003254eef1c0be915da143e19f4f82e9cea731136f1213920a87455ca39c289b6d9d893b50959660b5f2ad3a4c
7
- data.tar.gz: 154ca74d79b575d204462067dc06272984427e00a7599e3d09c6af2bc3b570469c62bd854456586a5b9341cef5fab56187b857a5c90dfdd954c8a127520fda86
6
+ metadata.gz: a74973ec534548da61f1395b3901b83789dd3b2215b3280d37ba9cf6636003254c2ad043e6c839228d5a280ea0476f86e9bdeb3bbda1875596f5339107501336
7
+ data.tar.gz: 1d6d5805552ad14a9d44145b9ac829b85079859a895b6fd610a3a4f008e17564b3d295ecacf25e2709724a182b13c14eb2284ddd1c37e4dfb06fec719cdf2c21
data/README.md CHANGED
@@ -1,6 +1,48 @@
1
1
  # DirTree
2
2
 
3
- TODO: Write a gem description
3
+ DirTree converts directory tree structure into a hash.
4
+
5
+ ```text
6
+ root
7
+ ├── dir_1
8
+ │   ├── file_in_dir_1_1
9
+ │   └── file_in_dir_1_2
10
+ ├── dir_2
11
+ │   ├── dir_3
12
+ │   │   ├── file_in_dir_3_1
13
+ │   │   └── file_in_dir_3_2
14
+ │   ├── file_in_dir_2_1
15
+ │   └── file_in_dir_2_2
16
+ ├── file_in_root_1
17
+ └── file_in_root_2
18
+ ```
19
+
20
+ ```ruby
21
+ DirTree::hash_tree("/root")
22
+ ```
23
+
24
+ ```ruby
25
+ {
26
+ "/root" => {
27
+ "dir_1" => {
28
+ "file_in_dir_1_1" => nil,
29
+ "file_in_dir_1_2" => nil
30
+ },
31
+ "dir_2" => {
32
+ "dir_3" => {
33
+ "file_in_dir_3_1" => nil,
34
+ "file_in_dir_3_2" => nil
35
+ },
36
+ "file_in_dir_2_1" => nil,
37
+ "file_in_dir_2_2" => nil
38
+ },
39
+ "file_in_root_1" => nil,
40
+ "file_in_root_2" => nil
41
+ }
42
+ }
43
+ ```
44
+
45
+ Each entry is represented as a key of hash. Its value is hash for children if it is a directory, its value is `nil` if it is a file instead.
4
46
 
5
47
  ## Installation
6
48
 
data/lib/dir_tree.rb CHANGED
@@ -23,10 +23,9 @@ module DirTree
23
23
  if File.directory?(full_path)
24
24
  children.update(hash_tree(full_path, entry))
25
25
  else
26
- children[entry] = {}
26
+ children[entry] = nil
27
27
  end
28
28
  end
29
29
  data
30
30
  end
31
31
  end
32
-
@@ -1,3 +1,3 @@
1
1
  module DirTree
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -25,16 +25,16 @@ class TestDirTree < MiniTest::Unit::TestCase
25
25
  # │   └── file_in_root_2
26
26
  expected = { File.join(@test_path, 'root') =>
27
27
  { "dir_1" =>
28
- { "file_in_dir_1_1" => {},
29
- "file_in_dir_1_2" => {}},
28
+ { "file_in_dir_1_1" => nil,
29
+ "file_in_dir_1_2" => nil},
30
30
  "dir_2" =>
31
31
  { "dir_3" =>
32
- { "file_in_dir_3_1" => {},
33
- "file_in_dir_3_2" => {}},
34
- "file_in_dir_2_1" => {},
35
- "file_in_dir_2_2" => {}},
36
- "file_in_root_1" => {},
37
- "file_in_root_2" => {}}}
32
+ { "file_in_dir_3_1" => nil,
33
+ "file_in_dir_3_2" => nil},
34
+ "file_in_dir_2_1" => nil,
35
+ "file_in_dir_2_2" => nil},
36
+ "file_in_root_1" => nil,
37
+ "file_in_root_2" => nil}}
38
38
  actual = DirTree.hash_tree(File.join(@test_path, 'root'))
39
39
  assert_equal expected, actual
40
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dir_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - WAKASUGI 5T111111
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-13 00:00:00.000000000 Z
11
+ date: 2014-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler