documented 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/documented +5 -3
  3. data/lib/rewriter.rb +2 -2
  4. data/lib/tracer.rb +24 -16
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eed131baa88c812dcc5e2d7539e11a422b40903854ab07f20ee594979537e87b
4
- data.tar.gz: 4222dd37097a675c37304d4a539bfe3d92c563e3aeb97732ce47246d6bc0f7e3
3
+ metadata.gz: a10abe36f1e6d26018072c76ea6b41b88f9be3644f0d26927a267333e9014e44
4
+ data.tar.gz: 4168f759f3270a5ab41a046538659d2a62d354bfd1936105a2c8083030089e96
5
5
  SHA512:
6
- metadata.gz: da326d596f66a75475b00be099299b04f997fa88077811f361b3b1e2228b9c0ec79a51f7f7df25f66282fa6cd6d21b466845a29c80c30c86831b1b3a5e4e10aa
7
- data.tar.gz: 16fe5d6fc344069bf61423b569472332ec4eef9e81374688630887480423321afac84832b3daa6981827b15d177a5eca6a24ef9248b8eaecf165b60d912a1f04
6
+ metadata.gz: '097512514d08ab602efa443ea5a9d8a15ebc5986048924bc512c64a66d4fc7fe61e03360a0403a3b6affb90e847b1ae685149673c47954df11f697c709f01b46'
7
+ data.tar.gz: d118c24f9032da6851c5f1508db97cc55bd4dac37e930bd452e5ef82a5f09b313b43425e200c68db7f6152946b9552efda940a202b87d11a56ea3b16c789add9
data/bin/documented CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- require lib_path = File.expand_path('../lib/documented')
3
- require '../lib/rewriter'
2
+
3
+ gem_path = File.expand_path('../../', __FILE__)
4
+ require File.join(gem_path, 'lib/documented')
5
+ require File.join(gem_path, 'lib/rewriter')
4
6
 
5
7
  ################################################################################
6
8
  # Usage:
@@ -13,7 +15,7 @@ require '../lib/rewriter'
13
15
  file_path = File.join(Dir.pwd, ARGV.first)
14
16
 
15
17
  rewriter = Documented::Rewriter.new(file_path)
16
- rewriter.require_library(lib_path)
18
+ rewriter.require_library(gem_path)
17
19
  rewriter.replace_comments
18
20
  rewriter.write
19
21
  rewriter.execute
data/lib/rewriter.rb CHANGED
@@ -13,9 +13,9 @@ module Documented
13
13
  @tree = Parser::Source::TreeRewriter.new(@source.buffer)
14
14
  end
15
15
 
16
- def require_library(lib_path)
16
+ def require_library(gem_path)
17
17
  setup = <<-RUBY
18
- \n require "#{lib_path}"
18
+ \n require "#{gem_path}/lib/documented"
19
19
  Documented.setup("#{@file_path}")
20
20
  RUBY
21
21
  @tree.insert_after(@source.ast.children.first.loc.expression, setup)
data/lib/tracer.rb CHANGED
@@ -26,28 +26,36 @@ module Documented
26
26
  private
27
27
 
28
28
  def create_trace_point
29
- calls = ['Start']
29
+ calls = []
30
30
 
31
31
  return TracePoint.new(:call, :return) do |trace_point|
32
+ callee = trace_point.self.class.to_s
33
+
34
+ next if @blocklist.any? do |class_name|
35
+ callee.start_with?(class_name) || trace_point.defined_class.to_s.start_with?(class_name)
36
+ end
37
+
38
+ calls << callee if calls.empty?
32
39
  caller = calls.last.to_s
33
- callee = trace_point.defined_class.to_s
40
+ next if trace_point.method_id == :initialize && caller == callee && !@sequence.empty?
41
+
34
42
  event = trace_point.event
35
-
36
- unless @blocklist.any? { |e| callee.to_s.start_with? e }
37
- unless calls.last == callee
38
- if event == :return
39
- calls.pop
40
- elsif calls.last != callee
41
- calls << callee
42
- end
43
- end
44
-
45
- unless callee == caller
46
- caller = caller.gsub('::','.')
47
- callee = callee.gsub('::','.')
48
- @sequence << "#{caller}->>#{callee}: #{trace_point.method_id}"
43
+
44
+ unless calls.last == callee
45
+ if event == :return
46
+ calls.pop
47
+ elsif calls.last != callee
48
+ calls << callee
49
49
  end
50
50
  end
51
+
52
+ caller.gsub!('::','.')
53
+ callee.gsub!('::','.')
54
+ event = "#{caller}->>#{callee}: #{trace_point.method_id}"
55
+
56
+ next if @sequence.last == event
57
+
58
+ @sequence << event
51
59
  end
52
60
  end
53
61
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: documented
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maedi Prichard