dir_tree 0.0.1 → 0.0.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.
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