peelr 0.0.1a → 0.0.1

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.
data/README.md CHANGED
@@ -14,11 +14,31 @@ And then execute:
14
14
 
15
15
  Or install it yourself as:
16
16
 
17
- $ gem install peelr
17
+ $ gem install peelr --pre
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO: Write usage instructions here
21
+ ```ruby
22
+ class User
23
+ def survive
24
+ peelr!
25
+ #...
26
+ end
27
+ end
28
+
29
+ class Car
30
+ attr_reader :user
31
+ def initialize(user)
32
+ @user = user
33
+ end
34
+
35
+ def crash
36
+ user.survive
37
+ end
38
+ end
39
+
40
+ Car.new(User.new).crash #=> ### 'survive' called inside 'crash' (example_file.rb:13)
41
+ ```
22
42
 
23
43
  ## Contributing
24
44
 
data/lib/peelr.rb CHANGED
@@ -1,31 +1,28 @@
1
1
  require "peelr/version"
2
-
3
2
  module Kernel
4
- def peelr!
5
- if Kernel.respond_to?(:caller_locations)
6
- caller_method = caller_locations(1,1)[0]
7
- caller_parent = caller_locations(2,1)[0]
8
- catch(:no_parent) do
9
- throw(:no_parent) unless caller_parent
10
-
11
- puts "### '#{caller_method.label}' called inside '#{caller_parent.label}' (#{caller_parent.path}:#{caller_parent.lineno})"
12
- end
3
+ def peelr!
4
+ caller_method, caller_parent = if Kernel.respond_to?(:caller_locations)
5
+ [caller_locations(1,1)[0], caller_locations(2,1)[0]]
13
6
  else
14
- caller_method = caller[0]
15
- caller_parent = caller[1]
16
- catch(:no_parent) do
17
- throw(:no_parent) unless caller_parent
7
+ [caller[0], caller[1]]
8
+ end
9
+
10
+ catch(:no_parent) do
11
+ throw(:no_parent) unless caller_parent
12
+
13
+ if Kernel.respond_to?(:caller_locations)
14
+ puts "### '#{caller_method.label}' called inside '#{caller_parent.label}' (#{caller_parent.path}:#{caller_parent.lineno})"
15
+ else
18
16
  caller_method_parts = caller_method.split(":")
19
17
  caller_method_name = caller_method_parts[2].scan(/\w+/).last
20
18
 
21
19
  caller_parent_parts = caller_parent.split(":")
22
20
  caller_parent_file = caller_parent_parts[0]
23
21
  caller_parent_line = caller_parent_parts[1]
24
- caller_parent_name = caller_parent_parts[2].scan(/\w+/).last
22
+ caller_parent_name = (label=caller_parent_parts[2]) ? label.scan(/\w+/).last : "<main>"
25
23
 
26
24
  puts "### '#{caller_method_name}' called inside '#{caller_parent_name}' (#{caller_parent_file}:#{caller_parent_line})"
27
- end
28
- end
25
+ end
26
+ end
29
27
  end
30
- end
31
-
28
+ end
data/lib/peelr/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Peelr
2
- VERSION = "0.0.1a"
2
+ VERSION = "0.0.1"
3
3
  end
metadata CHANGED
@@ -1,52 +1,58 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: peelr
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.1a
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
5
10
  platform: ruby
6
- authors:
11
+ authors:
7
12
  - Dragos Miron
8
13
  autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
- date: 2013-07-07 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
16
+
17
+ date: 2013-07-09 00:00:00 +01:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
14
21
  name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '1.3'
20
- type: :development
21
22
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
24
25
  - - ~>
25
- - !ruby/object:Gem::Version
26
- version: '1.3'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 3
30
+ version: "1.3"
34
31
  type: :development
32
+ version_requirements: *id001
33
+ - !ruby/object:Gem::Dependency
34
+ name: rake
35
35
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ segments:
41
+ - 0
42
+ version: "0"
43
+ type: :development
44
+ version_requirements: *id002
41
45
  description: See who is calling your method
42
- email:
46
+ email:
43
47
  - dragosmr+github@gmail.com
44
48
  executables: []
49
+
45
50
  extensions: []
51
+
46
52
  extra_rdoc_files: []
47
- files:
53
+
54
+ files:
48
55
  - .gitignore
49
- - .gitignore20130707-25504-zikoyu
50
56
  - Gemfile
51
57
  - LICENSE.txt
52
58
  - README.md
@@ -54,28 +60,35 @@ files:
54
60
  - lib/peelr.rb
55
61
  - lib/peelr/version.rb
56
62
  - peelr.gemspec
63
+ has_rdoc: true
57
64
  homepage:
58
- licenses:
65
+ licenses:
59
66
  - MIT
60
- metadata: {}
61
67
  post_install_message:
62
68
  rdoc_options: []
63
- require_paths:
69
+
70
+ require_paths:
64
71
  - lib
65
- required_ruby_version: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- required_rubygems_version: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - '>'
73
- - !ruby/object:Gem::Version
74
- version: 1.3.1
72
+ required_ruby_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ segments:
77
+ - 0
78
+ version: "0"
79
+ required_rubygems_version: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ segments:
84
+ - 0
85
+ version: "0"
75
86
  requirements: []
87
+
76
88
  rubyforge_project:
77
- rubygems_version: 2.0.0
89
+ rubygems_version: 1.3.6
78
90
  signing_key:
79
- specification_version: 4
91
+ specification_version: 3
80
92
  summary: peelr gives you means to tell from where a given method is called
81
93
  test_files: []
94
+
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 346bb5ecab1fb1999dd006f24354169021265617
4
- data.tar.gz: c938c1a646069d979591e24df4875792864bbe74
5
- SHA512:
6
- metadata.gz: 66535302bb4f7e75e721bed29778efd8e8939b07cda4b460c9e2dd1a6e961a0a05775769ea6e75eaf1533ee70bce67550ef471270775a29b7e601383f38718eb
7
- data.tar.gz: fbc08d9823f394b748ca36d8d1d1282364c55878b9f699bae65acfd2096f31d6b8d9bf107cecc0f53c02a21b204a0e93a0ce78425d3c77817e531df740bbf031
@@ -1,17 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp