trace_files 0.0.2 → 1.0.0
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 +4 -4
- data/.travis.yml +13 -0
- data/README.md +18 -8
- data/Thorfile +14 -0
- data/lib/trace_files.rb +21 -15
- data/lib/trace_files/version.rb +2 -2
- data/release_notes.md +9 -0
- data/trace_files.gemspec +6 -0
- metadata +46 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6bd46ba58cfe8179e260232f2bf2757040291a71
|
4
|
+
data.tar.gz: 18d6dd89026d59ee4417c6c4525d25b6300b635d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a5a37c93af9ca8342903d67d6a40f2390c707fd2aff49d3f292eae24bb1ad2cb42446e427a07b92e25ed33efda548b601e82b4e2c50caf684ea8f234229d889
|
7
|
+
data.tar.gz: 08d8306d75a189780ab921c5f03ecacc8f933e4c6bda9dbb7424ad1462d9141489364cb66420af12b1d18a6358b9863f8462a5606a2e1a07c0d1aff7e9b24f09
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,11 +1,21 @@
|
|
1
|
-
# TraceFiles
|
1
|
+
# TraceFiles [](http://badge.fury.io/rb/trace_files) [](https://gemnasium.com/bootstraponline/trace_files) [](https://travis-ci.org/bootstraponline/trace_files/builds)
|
2
2
|
|
3
|
-
Gem for tracing
|
3
|
+
Gem for tracing Ruby files.
|
4
4
|
|
5
|
-
|
5
|
+
```ruby
|
6
|
+
require 'trace_files'
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
TraceFiles.set trace: [__FILE__]
|
9
|
+
```
|
10
|
+
|
11
|
+
Glob example.
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
require 'trace_files'
|
15
|
+
|
16
|
+
targets = Dir.glob(File.join(__dir__, '../lib/**/*.rb'))
|
17
|
+
targets.map! { |t| File.expand_path t }
|
18
|
+
puts "Tracing: #{targets}"
|
19
|
+
|
20
|
+
TraceFiles.set trace: targets
|
21
|
+
```
|
data/Thorfile
CHANGED
@@ -4,3 +4,17 @@ Appium::Thor::Config.set do
|
|
4
4
|
gem_name 'trace_files'
|
5
5
|
github_owner 'bootstraponline'
|
6
6
|
end
|
7
|
+
|
8
|
+
|
9
|
+
# Must use '::' otherwise Default will point to Thor::Sandbox::Default
|
10
|
+
# Debug by calling Thor::Base.subclass_files via Pry
|
11
|
+
#
|
12
|
+
# https://github.com/erikhuda/thor/issues/484
|
13
|
+
#
|
14
|
+
class ::Default < Thor
|
15
|
+
desc 'spec', 'Run RSpec tests'
|
16
|
+
|
17
|
+
def spec
|
18
|
+
exec 'rspec spec'
|
19
|
+
end
|
20
|
+
end
|
data/lib/trace_files.rb
CHANGED
@@ -8,6 +8,7 @@ module TraceFiles
|
|
8
8
|
#
|
9
9
|
# @param :trace [Array<String>] the files to trace
|
10
10
|
# @param :io [IO] io to print to
|
11
|
+
# @return [TracePoint] the trace point object
|
11
12
|
def self.set spec_opts
|
12
13
|
targets = []
|
13
14
|
files = {}
|
@@ -26,23 +27,28 @@ module TraceFiles
|
|
26
27
|
end
|
27
28
|
return if targets.empty?
|
28
29
|
|
29
|
-
|
30
|
-
|
30
|
+
trace_point = TracePoint.new do |trace|
|
31
|
+
file_path = trace.path
|
32
|
+
if targets.include?(file_path)
|
33
|
+
line_number = trace.lineno
|
34
|
+
# never repeat a line
|
35
|
+
unless file_path == last_file && line_number == last_line
|
36
|
+
file_sym = file_path.intern
|
37
|
+
files[file_sym] = IO.readlines(file_path) if files[file_sym].nil?
|
38
|
+
lines = files[file_sym]
|
31
39
|
|
32
|
-
|
33
|
-
|
40
|
+
# arrays are 0 indexed and line numbers start at one.
|
41
|
+
io.print color if color # ANSI code
|
42
|
+
io.puts lines[line_number - 1]
|
43
|
+
io.print "\e[0m" if color # ANSI.clear
|
34
44
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
io.print color if color # ANSI code
|
41
|
-
io.puts lines[line - 1]
|
42
|
-
io.print "\e[0m" if color # ANSI.clear
|
45
|
+
last_file = file_path
|
46
|
+
last_line = line_number
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
43
50
|
|
44
|
-
|
45
|
-
|
46
|
-
end)
|
51
|
+
trace_point.enable
|
52
|
+
trace_point
|
47
53
|
end
|
48
54
|
end
|
data/lib/trace_files/version.rb
CHANGED
data/release_notes.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
#### v1.0.0 2015-06-18
|
2
|
+
|
3
|
+
- [426c98d](https://github.com/bootstraponline/trace_files/commit/426c98d6dc536e0059821809dfb8da6d8727ef28) Release 1.0.0
|
4
|
+
- [59ec0bd](https://github.com/bootstraponline/trace_files/commit/59ec0bd803c98e1921acc9e3a3b9c5fffa62f8fc) Update version to 1.0.0
|
5
|
+
- [adf9b64](https://github.com/bootstraponline/trace_files/commit/adf9b64469d69903ae665ef791a222a55e8a2f3e) Use TracePoint instead of set_trace_func
|
6
|
+
- [5eedd90](https://github.com/bootstraponline/trace_files/commit/5eedd909ce103fd23ca077030df3e69bd52bd56f) Add specs and travis ci
|
7
|
+
- [8f94a15](https://github.com/bootstraponline/trace_files/commit/8f94a15789f8f93c3d6586399ffe5061e5d0834f) Add gem badge
|
8
|
+
|
9
|
+
|
1
10
|
#### v0.0.2 2015-05-05
|
2
11
|
|
3
12
|
- [28401d3](https://github.com/bootstraponline/trace_files/commit/28401d321064486971747a96726ac3136cddc915) Release 0.0.2
|
data/trace_files.gemspec
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
require File.join(__dir__, 'lib/trace_files/version')
|
3
3
|
|
4
4
|
Gem::Specification.new do |spec|
|
5
|
+
# TracePoint is new in Ruby 2. Doesn't exist in 1.9
|
6
|
+
spec.required_ruby_version = '>= 2'
|
7
|
+
|
5
8
|
spec.name = 'trace_files'
|
6
9
|
spec.version = TraceFiles::VERSION
|
7
10
|
spec.authors = ['bootstraponline']
|
@@ -19,4 +22,7 @@ Gem::Specification.new do |spec|
|
|
19
22
|
spec.add_development_dependency 'bundler', '~> 1.9'
|
20
23
|
spec.add_development_dependency 'rake', '~> 10.0'
|
21
24
|
spec.add_development_dependency 'appium_thor', '~> 0.0', '>= 0.0.7'
|
25
|
+
spec.add_development_dependency 'rspec', '~> 3.3.0'
|
26
|
+
spec.add_development_dependency 'pry', '~> 0.10.1'
|
27
|
+
spec.add_development_dependency 'thor', '~> 0.19.1'
|
22
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trace_files
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- bootstraponline
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -58,6 +58,48 @@ dependencies:
|
|
58
58
|
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: 0.0.7
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: rspec
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 3.3.0
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 3.3.0
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: pry
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 0.10.1
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 0.10.1
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: thor
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 0.19.1
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 0.19.1
|
61
103
|
description: Trace Ruby files.
|
62
104
|
email:
|
63
105
|
- code@bootstraponline.com
|
@@ -66,6 +108,7 @@ extensions: []
|
|
66
108
|
extra_rdoc_files: []
|
67
109
|
files:
|
68
110
|
- ".gitignore"
|
111
|
+
- ".travis.yml"
|
69
112
|
- Gemfile
|
70
113
|
- LICENSE
|
71
114
|
- README.md
|
@@ -87,7 +130,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
87
130
|
requirements:
|
88
131
|
- - ">="
|
89
132
|
- !ruby/object:Gem::Version
|
90
|
-
version: '
|
133
|
+
version: '2'
|
91
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
135
|
requirements:
|
93
136
|
- - ">="
|