Skip to content

Commit

Permalink
Merge pull request #17 from BurdetteLamar/classes
Browse files Browse the repository at this point in the history
Dir
  • Loading branch information
BurdetteLamar committed Jul 17, 2018
2 parents 41618dc + a1d9575 commit 87d1308
Show file tree
Hide file tree
Showing 16 changed files with 156 additions and 13 deletions.
33 changes: 32 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Classes treated in detail:
- [String](#string)
- [Symbol](#symbol)
- [File](#file)
- [Dir](#dir)
- [Set](#set)
- [OpenStruct](#openstruct)

Expand Down Expand Up @@ -706,6 +707,36 @@ File (message='My simple file'):
symlink?: false
writable?: true
```
### Dir

#### Simple Dir

This example shows a simple ```Dir ``.

```show.rb```:
```ruby
require 'debug_helper'
dir = Dir.new(File.dirname(__FILE__))
DebugHelper.show(dir, 'My simple dir')
```

The output shows details of the ```Dir```.

```show.yaml```:
```yaml
---
Dir (message='My simple dir'):
path: "."
entries:
- "."
- ".."
- show.md
- show.rb
- show.yaml
- template.md
exist?: true
```
### Set

#### Simple Set
Expand Down Expand Up @@ -1046,7 +1077,7 @@ The output shows details of the datetime.

```show.yaml```:
```yaml
--- 'DateTime (message=''My datetime'') #<DateTime: 2018-07-17T10:06:48-05:00 ((2458317j,54408s,181332000n),-18000s,2299161j)>'
--- 'DateTime (message=''My datetime'') #<DateTime: 2018-07-17T14:30:03-05:00 ((2458317j,70203s,764562000n),-18000s,2299161j)>'
```

#### Range
Expand Down
23 changes: 13 additions & 10 deletions lib/debug_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,21 @@
require 'set'
require 'yaml'

require 'debug_helper/version'
require_relative 'debug_helper/version'

require 'debug_helper/handler'
require_relative 'debug_helper/handler'

require 'debug_helper/each_with_index_handler'
require_relative 'debug_helper/each_with_index_handler'

require 'debug_helper/each_pair_handler'
require 'debug_helper/hash_handler'
require 'debug_helper/struct_handler'
require_relative 'debug_helper/each_pair_handler'
require_relative 'debug_helper/hash_handler'
require_relative 'debug_helper/struct_handler'

require 'debug_helper/file_handler'
require 'debug_helper/object_handler'
require 'debug_helper/string_handler'
require 'debug_helper/symbol_handler'
require_relative 'debug_helper/dir_handler'
require_relative 'debug_helper/file_handler'
require_relative 'debug_helper/object_handler'
require_relative 'debug_helper/string_handler'
require_relative 'debug_helper/symbol_handler'

class DebugHelper

Expand Down Expand Up @@ -63,6 +64,8 @@ def show(obj, message, info)
handler_class = case
when obj.kind_of?(Array)
EachWithIndexHandler
when obj.kind_of?(Dir)
DirHandler
when obj.kind_of?(File)
FileHandler
when obj.kind_of?(Hash)
Expand Down
26 changes: 26 additions & 0 deletions lib/debug_helper/dir_handler.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
class DebugHelper

class DirHandler < Handler

def show
# Instance methods.
[
:path,
].each do |method|
self.content.store(method.to_s, obj.send(method))
end
# Class methods.
{
:entries => [obj.path],
:exist? => [obj.path],
}.each_pair do |method, args|
self.content.store(method.to_s, Dir.send(method, *args))
end
self.attrs = {
:message => message,
}
show_item
end

end
end
2 changes: 2 additions & 0 deletions markdown/readme/Rakefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
require 'debug_helper'
require 'markdown_helper'

namespace :build do
Expand All @@ -20,6 +21,7 @@ namespace :build do
String
Symbol
File
Dir
Set
OpenStruct
Object
Expand Down
1 change: 1 addition & 0 deletions markdown/readme/class_inclusions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
@[:markdown](classes/string/template.md)
@[:markdown](classes/symbol/template.md)
@[:markdown](classes/file/template.md)
@[:markdown](classes/dir/template.md)
@[:markdown](classes/set/template.md)
@[:markdown](classes/open_struct/template.md)
@[:markdown](classes/object/template.md)
1 change: 1 addition & 0 deletions markdown/readme/class_links.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
- [String](#string)
- [Symbol](#symbol)
- [File](#file)
- [Dir](#dir)
- [Set](#set)
- [OpenStruct](#openstruct)
28 changes: 28 additions & 0 deletions markdown/readme/classes/dir/simple/show.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#### Simple Dir

This example shows a simple ```Dir ``.

```show.rb```:
```ruby
require 'debug_helper'

dir = Dir.new(File.dirname(__FILE__))
DebugHelper.show(dir, 'My simple dir')
```

The output shows details of the ```Dir```.

```show.yaml```:
```yaml
---
Dir (message='My simple dir'):
path: "."
entries:
- "."
- ".."
- show.md
- show.rb
- show.yaml
- template.md
exist?: true
```
4 changes: 4 additions & 0 deletions markdown/readme/classes/dir/simple/show.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
require 'debug_helper'

dir = Dir.new(File.dirname(__FILE__))
DebugHelper.show(dir, 'My simple dir')
11 changes: 11 additions & 0 deletions markdown/readme/classes/dir/simple/show.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
Dir (message='My simple dir'):
path: "."
entries:
- "."
- ".."
- show.md
- show.rb
- show.yaml
- template.md
exist?: true
9 changes: 9 additions & 0 deletions markdown/readme/classes/dir/simple/template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#### Simple Dir

This example shows a simple ```Dir ``.

@[ruby](show.rb)

The output shows details of the ```Dir```.

@[yaml](show.yaml)
3 changes: 3 additions & 0 deletions markdown/readme/classes/dir/template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### Dir

@[:markdown](simple/show.md)
2 changes: 1 addition & 1 deletion markdown/readme/classes/object/datetime/show.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ The output shows details of the datetime.

```show.yaml```:
```yaml
--- 'DateTime (message=''My datetime'') #<DateTime: 2018-07-17T10:06:48-05:00 ((2458317j,54408s,181332000n),-18000s,2299161j)>'
--- 'DateTime (message=''My datetime'') #<DateTime: 2018-07-17T14:30:03-05:00 ((2458317j,70203s,764562000n),-18000s,2299161j)>'
```
2 changes: 1 addition & 1 deletion markdown/readme/classes/object/datetime/show.yaml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
--- 'DateTime (message=''My datetime'') #<DateTime: 2018-07-17T10:06:48-05:00 ((2458317j,54408s,181332000n),-18000s,2299161j)>'
--- 'DateTime (message=''My datetime'') #<DateTime: 2018-07-17T14:30:03-05:00 ((2458317j,70203s,764562000n),-18000s,2299161j)>'
2 changes: 2 additions & 0 deletions test/debug_helper_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ def test_show_object
:test_array_self_referencing => array_self_referencing,
:test_array_circular => array_circular_0,

:test_dir => Dir.new(File.dirname(__FILE__)),

:test_hash => {:a => 14, :b => 22},
:test_hash_empty => {},
:test_hash_mixed_keys => {14 => 0, :a => 1, 'foobar' => 2},
Expand Down
11 changes: 11 additions & 0 deletions test/show/actual/test_dir.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
Dir (message='test_dir'):
path: C:/Users/Burdette/Documents/GitHub/debug_helper/test
entries:
- "."
- ".."
- debug_helper_test.rb
- show
- show_hash
- test_helper.rb
exist?: true
11 changes: 11 additions & 0 deletions test/show/expected/test_dir.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
Dir (message='test_dir'):
path: C:/Users/Burdette/Documents/GitHub/debug_helper/test
entries:
- "."
- ".."
- debug_helper_test.rb
- show
- show_hash
- test_helper.rb
exist?: true

0 comments on commit 87d1308

Please sign in to comment.