defly 0.2.0 → 0.3.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.
data/README.md CHANGED
@@ -11,6 +11,7 @@ Just `gem install defly`.
11
11
  * Trace variable changes
12
12
  * Showing source code when NoMethodError is thrown
13
13
  * Opening a shell when a particular error occurred
14
+ * Showing the exact path of required library
14
15
 
15
16
  ## Tracing method and instance variables
16
17
 
@@ -103,6 +104,23 @@ rocket.launch
103
104
  => "Bugs invasion"
104
105
  #<Rocket:0(0)>>
105
106
 
107
+ ## Showing the require path
108
+ ```ruby
109
+ irb(main):001:0> require 'defly'
110
+ => true
111
+ irb(main):002:0> require 'shoulda', :verbose => true
112
+ shoulda cannot be required
113
+ LoadError: no such file to load -- shoulda
114
+ from /Users/eggegg/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
115
+ from /Users/eggegg/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
116
+ from /Users/eggegg/.rvm/gems/ruby-1.9.2-p290/gems/defly-0.2.0/lib/defly/require_path.rb:23:in `require'
117
+ from (irb):2
118
+ from /Users/eggegg/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>'
119
+ irb(main):003:0> require 'rdoc', :verbose => true
120
+ Requiring /Users/eggegg/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/rdoc.rb
121
+ => true
122
+ ```
123
+
106
124
  ## Copyright
107
125
 
108
126
  Copyright (c) 2011 Andrew Liu. See LICENSE.txt for
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ Jeweler::Tasks.new do |gem|
18
18
  gem.homepage = "http://github.com/eggegg/defly"
19
19
  gem.license = "MIT"
20
20
  gem.summary = %Q{Debug and trace tool for Ruby}
21
- gem.description = %Q{Trace methods and instance variables with ease!}
21
+ gem.description = %Q{Debugging and tracing utilities for Ruby}
22
22
  gem.email = "andrewliu33@gmail.com"
23
23
  gem.authors = ["Andrew Liu"]
24
24
  # dependencies defined in Gemfile
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{defly}
8
- s.version = "0.2.0"
7
+ s.name = "defly"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andrew Liu"]
12
- s.date = %q{2011-08-26}
13
- s.description = %q{Trace methods and instance variables with ease!}
14
- s.email = %q{andrewliu33@gmail.com}
12
+ s.date = "2011-09-13"
13
+ s.description = "Debugging and tracing utilities for Ruby"
14
+ s.email = "andrewliu33@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.md"
@@ -26,17 +26,18 @@ Gem::Specification.new do |s|
26
26
  "VERSION",
27
27
  "defly.gemspec",
28
28
  "lib/defly.rb",
29
- "lib/inspectable.rb",
30
- "lib/tracable.rb",
31
- "lib/whinable.rb",
29
+ "lib/defly/inspectable.rb",
30
+ "lib/defly/require_path.rb",
31
+ "lib/defly/tracable.rb",
32
+ "lib/defly/whinable.rb",
32
33
  "test/helper.rb",
33
34
  "test/test_defly.rb"
34
35
  ]
35
- s.homepage = %q{http://github.com/eggegg/defly}
36
+ s.homepage = "http://github.com/eggegg/defly"
36
37
  s.licenses = ["MIT"]
37
38
  s.require_paths = ["lib"]
38
- s.rubygems_version = %q{1.6.2}
39
- s.summary = %q{Debug and trace tool for Ruby}
39
+ s.rubygems_version = "1.8.10"
40
+ s.summary = "Debug and trace tool for Ruby"
40
41
 
41
42
  if s.respond_to? :specification_version then
42
43
  s.specification_version = 3
@@ -1,6 +1,7 @@
1
- require 'tracable'
2
- require 'whinable'
3
- require 'inspectable'
1
+ require 'defly/tracable'
2
+ require 'defly/whinable'
3
+ require 'defly/inspectable'
4
+ require 'defly/require_path'
4
5
 
5
6
  module Defly
6
7
  end
@@ -12,4 +13,5 @@ class Class
12
13
  end
13
14
  end
14
15
 
15
- NoMethodError.send(:include, Defly::Whinable)
16
+ NoMethodError.send(:include, Defly::Whinable)
17
+ send(:include, Defly::RequirePath)
@@ -0,0 +1,26 @@
1
+ module Defly
2
+ module RequirePath
3
+ def require name, opts = {}
4
+ require_path = nil
5
+
6
+ if opts[:verbose]
7
+ $LOAD_PATH.each do |path|
8
+ full_path = File.join path, "#{name}.rb"
9
+
10
+ if File.exist? full_path
11
+ require_path = full_path
12
+ break
13
+ end
14
+ end
15
+
16
+ if require_path
17
+ puts "Requiring #{require_path}"
18
+ else
19
+ puts "#{name} cannot be required"
20
+ end
21
+ end
22
+
23
+ super name
24
+ end
25
+ end
26
+ end
File without changes
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: defly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-26 00:00:00.000000000 +08:00
13
- default_executable:
12
+ date: 2011-09-13 00:00:00.000000000Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rib
17
- requirement: &2153950820 !ruby/object:Gem::Requirement
16
+ requirement: &2152562040 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ! '>='
@@ -22,10 +21,10 @@ dependencies:
22
21
  version: '0'
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *2153950820
24
+ version_requirements: *2152562040
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: shoulda
28
- requirement: &2153949880 !ruby/object:Gem::Requirement
27
+ requirement: &2152561560 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ! '>='
@@ -33,10 +32,10 @@ dependencies:
33
32
  version: '0'
34
33
  type: :development
35
34
  prerelease: false
36
- version_requirements: *2153949880
35
+ version_requirements: *2152561560
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: bundler
39
- requirement: &2153948960 !ruby/object:Gem::Requirement
38
+ requirement: &2152561080 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ~>
@@ -44,10 +43,10 @@ dependencies:
44
43
  version: 1.0.0
45
44
  type: :development
46
45
  prerelease: false
47
- version_requirements: *2153948960
46
+ version_requirements: *2152561080
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: jeweler
50
- requirement: &2153947960 !ruby/object:Gem::Requirement
49
+ requirement: &2152560600 !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
52
  - - ~>
@@ -55,10 +54,10 @@ dependencies:
55
54
  version: 1.6.4
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *2153947960
57
+ version_requirements: *2152560600
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: rcov
61
- requirement: &2153946880 !ruby/object:Gem::Requirement
60
+ requirement: &2152576480 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
64
63
  - - ! '>='
@@ -66,8 +65,8 @@ dependencies:
66
65
  version: '0'
67
66
  type: :development
68
67
  prerelease: false
69
- version_requirements: *2153946880
70
- description: Trace methods and instance variables with ease!
68
+ version_requirements: *2152576480
69
+ description: Debugging and tracing utilities for Ruby
71
70
  email: andrewliu33@gmail.com
72
71
  executables: []
73
72
  extensions: []
@@ -84,12 +83,12 @@ files:
84
83
  - VERSION
85
84
  - defly.gemspec
86
85
  - lib/defly.rb
87
- - lib/inspectable.rb
88
- - lib/tracable.rb
89
- - lib/whinable.rb
86
+ - lib/defly/inspectable.rb
87
+ - lib/defly/require_path.rb
88
+ - lib/defly/tracable.rb
89
+ - lib/defly/whinable.rb
90
90
  - test/helper.rb
91
91
  - test/test_defly.rb
92
- has_rdoc: true
93
92
  homepage: http://github.com/eggegg/defly
94
93
  licenses:
95
94
  - MIT
@@ -105,7 +104,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
105
104
  version: '0'
106
105
  segments:
107
106
  - 0
108
- hash: -1635137758272325934
107
+ hash: 2781134025386586384
109
108
  required_rubygems_version: !ruby/object:Gem::Requirement
110
109
  none: false
111
110
  requirements:
@@ -114,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
113
  version: '0'
115
114
  requirements: []
116
115
  rubyforge_project:
117
- rubygems_version: 1.6.2
116
+ rubygems_version: 1.8.10
118
117
  signing_key:
119
118
  specification_version: 3
120
119
  summary: Debug and trace tool for Ruby