constree 0.1.2 → 0.1.6

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
- SHA1:
3
- metadata.gz: 8fd51535c154371bbe1e959a1e559599dc4dbba6
4
- data.tar.gz: 6335f942b38428c596ffb6c5480b1f3dfaa5474a
2
+ SHA256:
3
+ metadata.gz: 91bc646f95fa84573ef59c5c7ae36cba758a46481dcc1a33c42aecc190fd35f8
4
+ data.tar.gz: fc31388a1493bade700bba3144ab67cea1a484e89812b8cc8dfa0a63b7c5da01
5
5
  SHA512:
6
- metadata.gz: 54a0400983d69ffb8ddbd279be82eccdb43529b2f2a81a1d6f3c689a4bc466fd5f9087c59085101566c20da210fee58d1fd9083d505641c68008c017015abf22
7
- data.tar.gz: 6c7ec5e2a8a7a869e1d2eeb075feb468621f191a4ce1b85ae43287b2d8e9591380297a5b0daea85aa2317e472afd2f3647c9862f6b1404d61a3aec6282fedc27
6
+ metadata.gz: 2859b1ada05e4933b59b597f60f6c05283720544fe101b7aed7d9781dd0ee6f3bc891b217333706ae384b83e67a300e883529b242ce3d6c988f6b693023e2492
7
+ data.tar.gz: 2bcae5e18331f0a84084d5e90822e32c82a7f110a83a2152050e3d77a14da0d04843c6ba052dab6cc2b976f3d964cab540ec52605019f2bd75303bc6fd5cf609
data/README.md CHANGED
@@ -21,22 +21,20 @@ Or install it yourself as:
21
21
  ## Example: constants in Minitest::Spec
22
22
 
23
23
  ```ruby
24
- 2.2.2 :001 > require 'constree/module'
25
- => true
26
- 2.2.2 :002 > require 'minitest/spec'
27
- => true
28
- 2.2.2 :003 > Minitest::Spec.constreep
29
- Minitest::Spec (Class)
24
+ irb(main):001:0> require 'minitest/spec'
25
+ => true
26
+ irb(main):002:0> Constree.p Minitest::Spec
27
+ Minitest::Spec < Minitest::Spec::DSL::InstanceMethods < Minitest::Test < Minitest::Guard < Minitest::Test::LifecycleHooks < Minitest::Reportable < Minitest::Assertions < Minitest::Runnable < Object < Minitest::Expectations < Kernel < BasicObject
30
28
  ├─DSL (Module)
31
- │ ├─TYPES (Array)
32
- │ └─InstanceMethods (Module)
29
+ │ ├─InstanceMethods (Module)
30
+ │ └─TYPES (Array)
33
31
  ├─TYPES → Minitest::Spec::DSL::TYPES
34
32
  ├─PASSTHROUGH_EXCEPTIONS (Array)
35
33
  ├─TEARDOWN_METHODS (Array)
36
34
  ├─LifecycleHooks (Module)
37
- ├─UNDEFINED (Object)
38
35
  ├─E (String)
36
+ ├─UNDEFINED (Object)
39
37
  └─SIGNALS (Hash)
40
- => nil
38
+ => nil
41
39
  ```
42
40
 
data/constree.gemspec CHANGED
@@ -20,9 +20,9 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.13"
23
+ spec.add_development_dependency "bundler", "> 1.13"
24
24
  spec.add_development_dependency "rake", "~> 10.0"
25
25
  spec.add_development_dependency "minitest", "~> 5.0"
26
26
 
27
- spec.add_development_dependency "tree_graph", "~> 0.1.0"
27
+ spec.add_dependency "tree_graph", "~> 0.2.0"
28
28
  end
data/lib/constree/node.rb CHANGED
@@ -1,29 +1,24 @@
1
1
  require 'tree_graph'
2
2
 
3
3
  module Constree
4
- Node = Struct.new :constant, :name, :parent, :is_last do
4
+ Node = Struct.new :constant, :name, :parent do
5
5
 
6
6
  include TreeGraph
7
7
 
8
- def parent_for_tree_graph
9
- parent
10
- end
11
-
12
8
  def label_for_tree_graph
13
9
  display_name + ' ' + type
14
10
  end
15
11
 
16
- def is_last_for_tree_graph
17
- is_last ? true : false
12
+ def children_for_tree_graph
13
+ @sub_consts ||= []
18
14
  end
19
15
 
20
16
  attr_accessor :ref
21
17
 
22
18
  def sub_nodes
23
19
  return [] unless constant.is_a? Module
24
- names = constant.constants
25
- names.reduce([]) do |nodes, name|
26
- nodes << Node.new(constant.const_get(name), name, self, nodes.count == names.count - 1)
20
+ constant.constants.map do |name|
21
+ Node.new(constant.const_get(name), name, self)
27
22
  end
28
23
  end
29
24
 
@@ -59,4 +54,12 @@ module Constree
59
54
  end
60
55
 
61
56
  end
57
+
58
+ class NodeWithAncestors < Node
59
+ def type
60
+ return "→ #{ref.full_name}" if ref
61
+ return "(#{constant.class.to_s})" unless Class === constant
62
+ "< " + constant.ancestors[1..].map(&:to_s).join(" < ")
63
+ end
64
+ end
62
65
  end
@@ -1,3 +1,3 @@
1
1
  module Constree
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.6"
3
3
  end
data/lib/constree.rb CHANGED
@@ -11,6 +11,7 @@ module Constree
11
11
 
12
12
  node.sub_nodes.each do |sub_n|
13
13
  seen << sub_n
14
+ node.children_for_tree_graph << sub_n
14
15
  list(sub_n, seen) if sub_n.not_yet? seen
15
16
  end
16
17
 
@@ -18,9 +19,7 @@ module Constree
18
19
  end
19
20
 
20
21
  def of mod
21
- list(mod).
22
- map(&:tree_graph_level).
23
- join("\n")
22
+ list(mod).first.tree_graph
24
23
  end
25
24
 
26
25
  def p mod
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: constree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - ken
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-04 00:00:00.000000000 Z
11
+ date: 2021-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.13'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.13'
27
27
  - !ruby/object:Gem::Dependency
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.1.0
62
- type: :development
61
+ version: 0.2.0
62
+ type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.1.0
68
+ version: 0.2.0
69
69
  description:
70
70
  email:
71
71
  - block24block@gmail.com
@@ -106,8 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  - !ruby/object:Gem::Version
107
107
  version: '0'
108
108
  requirements: []
109
- rubyforge_project:
110
- rubygems_version: 2.5.2
109
+ rubygems_version: 3.2.3
111
110
  signing_key:
112
111
  specification_version: 4
113
112
  summary: recursively show the structure of constants in a module