dependencytree 0.1.5 → 0.1.6

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: f3b9b2b0cee194acb488aa5a4d05c39e425a7b06
4
- data.tar.gz: d073ab2d02be14058e7924535540695ca5c6537f
3
+ metadata.gz: 312303a55740261be4a06ec055cf892eb61233e1
4
+ data.tar.gz: 865dc710ec4a18c399c3968259620b8cfc6ed4b9
5
5
  SHA512:
6
- metadata.gz: 67356999bfbba414644346e901af46ac6ad6a6993d33ac8b3a456fe187bef640c57fa6fc9a03d3e1fec61c2c44391113265f34bbf971f7fee733ff45a3790d35
7
- data.tar.gz: 0f0512f0a7b181d66ee600b6e356f390b6ac515dd59cd585fd6104b2668fd6771c41d9638f7efc10ab7aa6a81aedfc8a0f1f68a03c7bb4c61be51f94db1c971b
6
+ metadata.gz: a8b26ca2d7907e98945f34af9258561731a31ad46202b7abf4e29d43ddccac7e59d7314112a3c014bdeea51bbf42c4a8e5c08e37e3c294eddde335a2ffccf809
7
+ data.tar.gz: 395217483dbb38fc3160f0e5cda906aaa5c9971b36beb44326b7632f484c64ec83d7a7669b2b07bc975618cc1b7ed1d2ce63d41e83cde69404d3b2c2be8091ce
data/README.md CHANGED
@@ -26,6 +26,7 @@ An example call would look like this:
26
26
  The following is a list of possible command line options:
27
27
 
28
28
  -v, --verbose Verbose output
29
+ -d, --debug Log debugging output to file 'dependencytree.log'
29
30
  -p, --pattern[=OPTIONAL] Pattern to accept source codes with (default: (?-mix:.*\.rb))
30
31
  -i, --ignore[=OPTIONAL] Paths to not load (default: (?-mix:^$))
31
32
  -o, --output[=OPTIONAL] Output path for the JSON file
@@ -23,34 +23,31 @@ module Dependencytree
23
23
  }
24
24
  elsif File.file?(path)
25
25
  STDERR.puts path if options[:verbose]
26
- $LOG.debug("Handling path #{path}")
26
+ LOG.debug("Handling path #{path}")
27
27
  tree = Parser::CurrentRuby.parse_file(path)
28
- $LOG.debug("Parsed tree: #{tree}") if $LOG.debug?
28
+ LOG.debug("Parsed tree: #{tree}") if LOG.debug?
29
29
  consumer.visit(path, tree)
30
30
  end
31
31
  end
32
32
 
33
- $LOG = Logger.new('application.log', 'daily', 20)
34
-
35
33
  options = {}
36
34
  options[:ignore] = /^$/
37
35
  options[:pattern] = /.*\.rb/
38
36
  OptionParser.new do |opt|
39
37
  opt.on("-v", "--verbose", "Verbose output") do |o|
40
38
  options[:verbose] = true
41
- $LOG.debug("verbose")
39
+ end
40
+ opt.on("-d", "--debug", "Log debugging output to file 'dependencytree.log'") do |o|
41
+ options[:debug] = true
42
42
  end
43
43
  opt.on("-p", "--pattern[=OPTIONAL]", "Pattern to accept source codes with (default: #{options[:pattern].to_s})") do |o|
44
44
  options[:pattern] = /#{o}/
45
- $LOG.debug("pattern = #{o}")
46
45
  end
47
46
  opt.on("-i", "--ignore[=OPTIONAL]", "Paths to not load (default: #{options[:ignore].to_s})") do |o|
48
47
  options[:ignore] = /#{o}/
49
- $LOG.debug("ignore = #{o}")
50
48
  end
51
49
  opt.on("-o", "--output[=OPTIONAL]", "Output path for the JSON file") do |o|
52
50
  options[:output] = o
53
- $LOG.debug("output = #{o}")
54
51
  end
55
52
  opt.on_tail("-h", "--help", "Show this message") do
56
53
  puts opt
@@ -58,6 +55,15 @@ module Dependencytree
58
55
  end
59
56
  end.parse!
60
57
 
58
+ if options[:debug]
59
+ log = Logger.new('dependencytree.log')
60
+ log.level = Logger::WARN
61
+ else
62
+ log = Logger.new(STDOUT)
63
+ log.level = Logger::WARN
64
+ end
65
+ LOG = log
66
+
61
67
  consumer = DependencyAggregator.new
62
68
  ARGV.each do |path|
63
69
  handle_path(options, consumer, File.absolute_path(path))
@@ -20,7 +20,7 @@ module Dependencytree
20
20
  # Goes thru all classes and tries to resolve the references.
21
21
  def resolve_references
22
22
  @classes_and_modules.each do |clazz|
23
- $LOG.debug("Processing class #{clazz.full_name} located in #{clazz.path}")
23
+ LOG.debug("Processing class #{clazz.full_name} located in #{clazz.path}")
24
24
  clazz.references.each do |reference_array|
25
25
  refered_class = resolve_reference(clazz, reference_array)
26
26
  if refered_class
@@ -43,9 +43,9 @@ module Dependencytree
43
43
  end
44
44
 
45
45
  if refered_class_model
46
- $LOG.debug("Resolved #{reference_array.join('::')} to uuid #{refered_class_model.uuid}")
46
+ LOG.debug("Resolved #{reference_array.join('::')} to uuid #{refered_class_model.uuid}")
47
47
  else
48
- $LOG.debug("Could not resolve #{reference_array.join('::')}")
48
+ LOG.debug("Could not resolve #{reference_array.join('::')}")
49
49
  end
50
50
  refered_class_model
51
51
  end
@@ -59,16 +59,16 @@ module Dependencytree
59
59
  reference_part = reference_array[0..-2]
60
60
  constant_name = reference_array[-1]
61
61
 
62
- $LOG.debug("Resolving reference array #{reference_array.to_s} as reference #{reference_part.to_s} and constant #{constant_name}")
62
+ LOG.debug("Resolving reference array #{reference_array.to_s} as reference #{reference_part.to_s} and constant #{constant_name}")
63
63
 
64
64
  refered_class_model = resolve_reference_direct(referer_class_model, reference_part)
65
65
  if refered_class_model
66
- $LOG.debug("Found reference to possible parent #{reference_part.to_s}")
66
+ LOG.debug("Found reference to possible parent #{reference_part.to_s}")
67
67
  if refered_class_model.constant_names.include? constant_name.to_sym
68
- $LOG.debug("Found class #{refered_class_model.full_name} constant #{constant_name}")
68
+ LOG.debug("Found class #{refered_class_model.full_name} constant #{constant_name}")
69
69
  refered_class_model
70
70
  else
71
- $LOG.debug("Found class #{refered_class_model.full_name}, but not constant #{constant_name}. Known constants: #{refered_class_model.constant_names}")
71
+ LOG.debug("Found class #{refered_class_model.full_name}, but not constant #{constant_name}. Known constants: #{refered_class_model.constant_names}")
72
72
  nil
73
73
  end
74
74
  else
@@ -81,15 +81,15 @@ module Dependencytree
81
81
  # @param reference_array the reference as in the source, can be absolute or relative to the referer class.
82
82
  # @return the refered class model or nil
83
83
  def resolve_reference_direct(referer_class_model, reference_array)
84
- $LOG.debug("Resolving reference array #{reference_array.to_s}")
84
+ LOG.debug("Resolving reference array #{reference_array.to_s}")
85
85
 
86
86
  referer_array = referer_class_model.full_name_array
87
87
  i = 0
88
88
  refered_class_model = nil
89
89
  while !refered_class_model do
90
- $LOG.debug("Referer array #{i} is #{referer_array.to_s}")
90
+ LOG.debug("Referer array #{i} is #{referer_array.to_s}")
91
91
  full_name = (referer_array+reference_array).join("::")
92
- $LOG.debug("Full name #{i} is #{full_name} #{full_name.class.name}")
92
+ LOG.debug("Full name #{i} is #{full_name} #{full_name.class.name}")
93
93
  refered_class_model = resolve_by_full_name(full_name)
94
94
 
95
95
  break if referer_array.empty?
@@ -50,14 +50,14 @@ module Dependencytree
50
50
  # Handle a const expression.
51
51
  # @param node the const node itself to handle.
52
52
  def _const(node)
53
- $LOG.debug("const")
53
+ LOG.debug("const")
54
54
 
55
55
  raise ArgumentError, "type needs to be const (#{node.type})" if node.type != :const
56
56
  raise ArgumentError, "Children count needs to be 2 (#{node.children.length})" if node.children.length != 2
57
57
 
58
58
  reference = flatten_const_tree(node)
59
59
 
60
- $LOG.debug("Reference to #{reference.to_s}")
60
+ LOG.debug("Reference to #{reference.to_s}")
61
61
  top_of_stack.add_reference(reference)
62
62
  end
63
63
 
@@ -67,7 +67,7 @@ module Dependencytree
67
67
  raise ArgumentError, "Children count for module is != 2 (#{node.children.length})" if node.children.length != 2
68
68
  raise ArgumentError, "First module child needs to be a const (#{node.children[0].type} #{node.children[0].type})" if node.children[0].type != :const
69
69
 
70
- $LOG.debug("module #{node.children[0].children[1]}")
70
+ LOG.debug("module #{node.children[0].children[1]}")
71
71
 
72
72
  current_module_name = node.children[0].children[1]
73
73
  _handle_class_module_common(:module, current_module_name, node)
@@ -78,7 +78,7 @@ module Dependencytree
78
78
  def _class(node)
79
79
  raise ArgumentError, "Children count for class is != 3 (#{node.children.length})" if node.children.length != 3
80
80
  raise ArgumentError, "First class child needs to be a const (#{node.children[0].type} #{node.children[0].type})" if node.children[0].type != :const
81
- $LOG.debug("class #{node.children[0].children[1]}")
81
+ LOG.debug("class #{node.children[0].children[1]}")
82
82
 
83
83
  current_class_name = node.children[0].children[1]
84
84
  _handle_class_module_common(:class, current_class_name, node)
@@ -95,7 +95,7 @@ module Dependencytree
95
95
  parent = @context_stack[-1]
96
96
  full_name = parent.full_name.to_s + "::" + name.to_s
97
97
  end
98
- $LOG.debug("Full name is #{full_name}")
98
+ LOG.debug("Full name is #{full_name}")
99
99
  resolved = _resolve(full_name)
100
100
 
101
101
  if ! resolved.nil?
@@ -111,7 +111,7 @@ module Dependencytree
111
111
  end
112
112
 
113
113
  if resolved.nil?
114
- $LOG.debug("Created new ClassModel for #{model.full_name}")
114
+ LOG.debug("Created new ClassModel for #{model.full_name}")
115
115
  end
116
116
 
117
117
  @context_stack << model
@@ -125,7 +125,7 @@ module Dependencytree
125
125
  def _def(node)
126
126
  raise ArgumentError, "Children count for def is != 3 (#{node.children.length})" if node.children.length != 3
127
127
 
128
- $LOG.debug("def #{node.children[0]}")
128
+ LOG.debug("def #{node.children[0]}")
129
129
 
130
130
  top_of_stack.add_method(node.children[0])
131
131
 
@@ -137,7 +137,7 @@ module Dependencytree
137
137
  def _casgn(node)
138
138
  raise ArgumentError, "Children count for casgn is != 3 (#{node.children.length})" if node.children.length != 3
139
139
 
140
- $LOG.debug("casgn #{node.children[1]}")
140
+ LOG.debug("casgn #{node.children[1]}")
141
141
 
142
142
  top_of_stack.add_constant(node.children[1])
143
143
 
@@ -177,12 +177,12 @@ module Dependencytree
177
177
  # @param tree the AST tree node.
178
178
  def visit(path, tree)
179
179
  begin
180
- $LOG.debug("Visiting path #{path}")
180
+ LOG.debug("Visiting path #{path}")
181
181
  @path = path
182
182
  visit_node(tree)
183
183
  @path = nil
184
184
  rescue Exception => e
185
- $LOG.error("Error in path #{path}")
185
+ LOG.error("Error in path #{path}")
186
186
  puts "Error in path #{path}"
187
187
  raise e
188
188
  end
@@ -1,3 +1,3 @@
1
1
  module Dependencytree
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependencytree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephan Fuhrmann