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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4f8261dc1a2e1efde4c3d72ef30d4de7b6288767
4
- data.tar.gz: b85de47e1e3e5921121c2d47103c72340821373e
3
+ metadata.gz: 6bd46ba58cfe8179e260232f2bf2757040291a71
4
+ data.tar.gz: 18d6dd89026d59ee4417c6c4525d25b6300b635d
5
5
  SHA512:
6
- metadata.gz: d622661b147b81160f7a1cbc67d5847be1da7c83c84ab9bdcc261d2b707cc932911c58be8fc76d28d0dcb0987211b89bdd3625236b0d8a17790f966d2d2ddc1b
7
- data.tar.gz: 90ea0d2e72adb88fde4ad2b2f89c0debffd4c9d2a67959359adadfa12915bbab09bfcd32398e2574b4b1bd51ccc96c19e129d87f3692e581ad5e08201f97bfb2
6
+ metadata.gz: 1a5a37c93af9ca8342903d67d6a40f2390c707fd2aff49d3f292eae24bb1ad2cb42446e427a07b92e25ed33efda548b601e82b4e2c50caf684ea8f234229d889
7
+ data.tar.gz: 08d8306d75a189780ab921c5f03ecacc8f933e4c6bda9dbb7424ad1462d9141489364cb66420af12b1d18a6358b9863f8462a5606a2e1a07c0d1aff7e9b24f09
data/.travis.yml ADDED
@@ -0,0 +1,13 @@
1
+ language: ruby
2
+ cache: bundler
3
+ rvm:
4
+ - 2.2.2
5
+ before_install: gem update --remote bundler
6
+ install:
7
+ - bundle install --retry=3
8
+ script:
9
+ - bundle exec thor spec
10
+ notifications:
11
+ email:
12
+ on_success: never
13
+ on_failure: never
data/README.md CHANGED
@@ -1,11 +1,21 @@
1
- # TraceFiles
1
+ # TraceFiles [![Gem Version](https://badge.fury.io/rb/trace_files.svg)](http://badge.fury.io/rb/trace_files) [![Dependency Status](https://gemnasium.com/bootstraponline/trace_files.svg)](https://gemnasium.com/bootstraponline/trace_files) [![Build Status](https://travis-ci.org/bootstraponline/trace_files.svg?branch=master)](https://travis-ci.org/bootstraponline/trace_files/builds)
2
2
 
3
- Gem for tracing ruby files.
3
+ Gem for tracing Ruby files.
4
4
 
5
- ## Contributing
5
+ ```ruby
6
+ require 'trace_files'
6
7
 
7
- 1. Fork it ( https://github.com/[my-github-username]/trace_files/fork )
8
- 2. Create your feature branch (`git checkout -b my-new-feature`)
9
- 3. Commit your changes (`git commit -am 'Add some feature'`)
10
- 4. Push to the branch (`git push origin my-new-feature`)
11
- 5. Create a new Pull Request
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
- set_trace_func(lambda do |event, file, line, id, binding, classname|
30
- return unless targets.include?(file)
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
- # never repeat a line
33
- return if file == last_file && line == last_line
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
- file_sym = file.intern
36
- files[file_sym] = IO.readlines(file) if files[file_sym].nil?
37
- lines = files[file_sym]
38
-
39
- # arrays are 0 indexed and line numbers start at one.
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
- last_file = file
45
- last_line = line
46
- end)
51
+ trace_point.enable
52
+ trace_point
47
53
  end
48
54
  end
@@ -1,4 +1,4 @@
1
1
  module TraceFiles
2
- VERSION = '0.0.2' unless defined? ::TraceFiles::VERSION
3
- DATE = '2015-05-05' unless defined? ::TraceFiles::DATE
2
+ VERSION = '1.0.0' unless defined? ::TraceFiles::VERSION
3
+ DATE = '2015-06-18' unless defined? ::TraceFiles::DATE
4
4
  end
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.2
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-05-05 00:00:00.000000000 Z
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: '0'
133
+ version: '2'
91
134
  required_rubygems_version: !ruby/object:Gem::Requirement
92
135
  requirements:
93
136
  - - ">="