lineprof 0.0.1 → 0.1.3

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: 393ef2c1ceac2439ff2a0245dae2ea9ba8cfb2df
4
- data.tar.gz: 8dccc11342de9485c529979b59c95f9b49dc494e
2
+ SHA256:
3
+ metadata.gz: 56ee1b53ea2ad5a8157bcfd28da5f2779332d583f654f3557dee6f5af4d0400f
4
+ data.tar.gz: e0a741f6ff7a70d8e9fe0b181d95c4a65ace6e393f4dc99589f10fc1f47a4c88
5
5
  SHA512:
6
- metadata.gz: 002457f42df37b5c6b91f15723f52a1694aa615bbed736281f9c4d568c1af6fd7363913ab1d42245a400931a38cdc1a21d740d2d533e48c9159a552822a349c0
7
- data.tar.gz: 020d8df7ec44d10a0aab63ae986108cf5c4fe495d6f0e578ec0facff3320936cfa8745dbb77db8171aa978e1626f58e251e55835accfcd9f18e97ebf232be4bb
6
+ metadata.gz: ee9b2b53d0cf2bffccc769f639cc555086fabd84f3c94f706a9fa7756f8402c08b67aaedc346c75333653a06df2997cad49775ac72f1cd78da11ef5aa100b4bd
7
+ data.tar.gz: 603c99982a2a3c4ba9fab17bdb646e94a72dbd30e196beffcb889e7c2ec6147678e8adcd5c65e7a0b1faaa0f7e11b302e2a0575d1609857a687d419c6660e06d
data/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ # Change Log
2
+
3
+ ## [v0.1.1](https://github.com/k0kubun/lineprof/tree/v0.1.1) (2015-09-12)
4
+ [Full Changelog](https://github.com/k0kubun/lineprof/compare/v0.1.0...v0.1.1)
5
+
6
+ ## [v0.1.0](https://github.com/k0kubun/lineprof/tree/v0.1.0) (2015-09-07)
7
+ [Full Changelog](https://github.com/k0kubun/lineprof/compare/v0.0.1...v0.1.0)
8
+
9
+ ## [v0.0.1](https://github.com/k0kubun/lineprof/tree/v0.0.1) (2015-03-09)
10
+
11
+
12
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
@@ -1,3 +1,3 @@
1
1
  class Lineprof
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.3"
3
3
  end
data/lib/lineprof.rb CHANGED
@@ -1,13 +1,14 @@
1
1
  require 'rblineprof'
2
- require 'rack/lineprof'
2
+ require 'rack/lineprof/source_extension'
3
3
 
4
4
  class Lineprof
5
- IGNORE_PATTERN = /lib\/lineprof\.rb$/
5
+ IGNORE_PATTERN = /lib\/lineprof\.rb$/
6
+ DEFAULT_PATTERN = /./
6
7
 
7
8
  class << self
8
- def profile(&block)
9
- value = nil
10
- result = lineprof(/./) { value = block.call }
9
+ def profile(filename = caller_filename(caller), &block)
10
+ value = nil
11
+ result = lineprof(filename) { value = block.call }
11
12
 
12
13
  puts Term::ANSIColor.blue("\n[Lineprof] #{'=' * 70}")
13
14
  puts "\n#{format(result)}\n"
@@ -16,6 +17,17 @@ class Lineprof
16
17
 
17
18
  private
18
19
 
20
+ def caller_filename(caller_lines)
21
+ filename = caller_lines.first.split(':').first
22
+
23
+ if filename
24
+ # Don't add \A because filename may not be an absolute path
25
+ /#{Regexp.escape(filename)}\z/
26
+ else
27
+ DEFAULT_PATTERN
28
+ end
29
+ end
30
+
19
31
  def format(result)
20
32
  sources = result.map do |filename, samples|
21
33
  next if filename =~ IGNORE_PATTERN
@@ -0,0 +1,15 @@
1
+ require 'rack/lineprof'
2
+
3
+ module Rack
4
+ class Lineprof
5
+ module SourceExtension
6
+ def source_lines
7
+ return [] if file_name == '(eval)'
8
+ return [] if file_name.end_with?('module_eval')
9
+ super
10
+ end
11
+ end
12
+
13
+ Source.send(:prepend, SourceExtension)
14
+ end
15
+ end
data/lineprof.gemspec CHANGED
@@ -18,8 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "rblineprof", "~> 0.3.6"
22
- spec.add_dependency "rack-lineprof", "~> 0.0.3"
21
+ spec.add_dependency "rblineprof", ">= 0.3.6"
22
+ spec.add_dependency "rack-lineprof", ">= 0.0.4"
23
23
 
24
24
  spec.add_development_dependency "bundler"
25
25
  spec.add_development_dependency "rake"
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lineprof
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Kokubun
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-09 00:00:00.000000000 Z
11
+ date: 2021-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rblineprof
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.3.6
20
20
  type: :runtime
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: 0.3.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rack-lineprof
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.3
33
+ version: 0.0.4
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.0.3
40
+ version: 0.0.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -88,6 +88,7 @@ extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
90
  - ".gitignore"
91
+ - CHANGELOG.md
91
92
  - Gemfile
92
93
  - LICENSE.txt
93
94
  - README.md
@@ -95,12 +96,13 @@ files:
95
96
  - example.rb
96
97
  - lib/lineprof.rb
97
98
  - lib/lineprof/version.rb
99
+ - lib/rack/lineprof/source_extension.rb
98
100
  - lineprof.gemspec
99
101
  homepage: https://github.com/k0kubun/lineprof
100
102
  licenses:
101
103
  - MIT
102
104
  metadata: {}
103
- post_install_message:
105
+ post_install_message:
104
106
  rdoc_options: []
105
107
  require_paths:
106
108
  - lib
@@ -115,10 +117,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
117
  - !ruby/object:Gem::Version
116
118
  version: '0'
117
119
  requirements: []
118
- rubyforge_project:
119
- rubygems_version: 2.4.5
120
- signing_key:
120
+ rubygems_version: 3.1.2
121
+ signing_key:
121
122
  specification_version: 4
122
123
  summary: Easy-to-use line profiler for Ruby.
123
124
  test_files: []
124
- has_rdoc: