peelr 0.0.1a → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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