ri_for 0.5.1 → 0.6.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/ChangeLog +1 -0
- data/README +44 -40
- data/VERSION +1 -1
- data/lib/ri_for/kernel_new_methods_list.rb +3 -2
- data/lib/ri_for/method_ri.rb +44 -30
- data/test/rubydoctest.method.rb +132 -123
- data/test/test_ri.rb +1 -0
- data/test/test_ri_rb_used_internally +0 -0
- metadata +113 -107
- data/test/bad.rb +0 -5
data/ChangeLog
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.6.0: jruby support, add File.method(:delete).ri_for
|
data/README
CHANGED
@@ -1,13 +1,12 @@
|
|
1
|
-
|
1
|
+
the ri_for gem:
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
A "run time RI for existing methods", this gem allows you to grab a method's docu at runtime--for example within a irb. It display the method's source code/comments, ri (if available), arity, parameters, etc.
|
6
|
-
|
7
|
-
It has proved quite useful, and I wouldn't do a ruby-debug session without it--you might really like it.
|
3
|
+
A "run time documentation lookup gem", this gem allows you to grab a method's docu at runtime--for example within an irb session.
|
4
|
+
It display the method's source code/comments, ri (if available), arity, parameters, etc.
|
8
5
|
|
9
6
|
Examples:
|
10
7
|
|
8
|
+
given this class
|
9
|
+
|
11
10
|
>> class A;
|
12
11
|
def go(a); end;
|
13
12
|
end
|
@@ -18,35 +17,41 @@ def go(a)
|
|
18
17
|
# do nothing
|
19
18
|
end
|
20
19
|
Parameters: go(a)
|
21
|
-
Searching ri for
|
20
|
+
Searching ri for
|
21
|
+
sig: A#go arity 1
|
22
|
+
...
|
23
|
+
Nothing known about A
|
22
24
|
(end ri)
|
23
25
|
=> "Parameters: go(a)"
|
24
26
|
|
25
|
-
|
27
|
+
It has proven quite useful, and I wouldn't do a ruby-debug session without it--try it--you might like it.
|
28
|
+
|
29
|
+
more examples:
|
26
30
|
|
27
31
|
>> File.ri_for :delete
|
28
|
-
|
32
|
+
|
33
|
+
sig: File.delete arity -1
|
34
|
+
appears to be a c method
|
35
|
+
Searching ri for
|
36
|
+
sig: File.delete arity -1
|
37
|
+
...
|
29
38
|
----------------------------------------------------------- File::delete
|
30
39
|
File.delete(file_name, ...) => integer
|
31
40
|
File.unlink(file_name, ...) => integer
|
32
41
|
|
33
|
-
From Ruby 1.9.1
|
34
42
|
------------------------------------------------------------------------
|
35
43
|
Deletes the named files, returning the number of names passed as
|
36
44
|
arguments. Raises an exception on any error. See also +Dir::rmdir+.
|
37
45
|
|
38
46
|
(end ri)
|
39
|
-
|
40
|
-
appears to be a c method
|
41
|
-
#parameters signature: delete( [[:rest]] )
|
47
|
+
=> "sig: File.delete arity -1"
|
42
48
|
|
43
|
-
Or (my favorite) a debug session:
|
44
49
|
|
45
|
-
(
|
46
|
-
|
50
|
+
Or (my favorite) use it within debug session:
|
51
|
+
|
47
52
|
74 assert(assigns['order'].order_line_items.map(:unit_price).min >= -5)
|
48
|
-
|
49
|
-
(rdb:1)
|
53
|
+
|
54
|
+
(rdb:1) ri_for :assert
|
50
55
|
#<Method: StoreControllerTest(Test::Unit::Assertions)#assert> arity: -2
|
51
56
|
ri for Test::Unit::Assertions#assert
|
52
57
|
------------------------------------------ Test::Unit::Assertions#assert
|
@@ -71,37 +76,36 @@ def assert(boolean, message = nil)
|
|
71
76
|
end
|
72
77
|
Parameters: assert(boolean, message = nil)
|
73
78
|
|
74
|
-
Thus, you can look at methods' source/rdocs without having to step into them. Deftly convenient.
|
79
|
+
Thus, you can look at methods' source/rdocs without having to run the methods and step into them. Deftly convenient.
|
80
|
+
|
81
|
+
=========Installation=====
|
75
82
|
|
76
|
-
|
77
|
-
$ gem install rogerdpack-desc_method
|
78
|
-
or
|
79
|
-
$ gem install rogerdpack-desc_method --source http://gems.github.com
|
80
|
-
if you don't have gems.github.com as a gem source.
|
83
|
+
$ gem install ri_for
|
81
84
|
|
82
85
|
Usage:
|
83
|
-
>> require '
|
84
|
-
>>
|
85
|
-
|
86
|
-
>> some_instance.
|
86
|
+
>> require 'ri_for'
|
87
|
+
>> ClassName.ri_for :method_name # class or instance method name
|
88
|
+
|
89
|
+
>> some_instance.ri_for :method_name
|
87
90
|
|
88
91
|
Other goodies included:
|
89
92
|
|
90
|
-
|
93
|
+
Object#my_methods (stolen from a website somewhere)
|
91
94
|
|
92
95
|
An example:
|
93
|
-
>>
|
94
|
-
|
95
|
-
|
96
|
-
|
96
|
+
>> class A; def go; end; end
|
97
|
+
>> A.new.my_methods
|
98
|
+
=> {:first, :second, :third]}
|
99
|
+
|
100
|
+
Object#methods2 (like #methods, but inserts a marker after my_methods are shown)
|
101
|
+
|
102
|
+
>> A.new.methods2
|
103
|
+
=> ["go", :"inherited methods after this point >>", "to_yaml_style", "inspect", "methods_old", "clone", "public_methods", "display", "instance_variable_defined?", "equal?", "freeze", "to_yaml_properties", "methods"...]
|
97
104
|
|
98
|
-
|
99
|
-
>> instance.methods
|
100
|
-
=> [:first, :second, :after_this_are_inherited>>>>>, :some_inherited_method, :another_inherited_method] # adds in that separator
|
105
|
+
=== Attributions ===
|
101
106
|
|
102
|
-
|
107
|
+
This gem wraps for convenience the functionality of Method#source_location, ruby2ruby, et al, and was inspired by a snippet from manvenu, SourceRef (MBARI), and Python's Method#desc. It also wouldn't be useful without irb and the ruby-debug folks. Thanks!
|
103
108
|
|
104
|
-
|
105
|
-
This gem wraps for convenience the functionality of Method#source_location, ruby2ruby, et al, and also contains some code inspiration from manvenu, SourceRef (MBARI), and Python's Method#desc. It also wouldn't be useful without irb and the ruby-debug folks. Thanks!
|
109
|
+
Comments/suggestions welcome rogerdpack on gmail or rdp on github
|
106
110
|
|
107
|
-
|
111
|
+
github.com/rdp/ri_for
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.0
|
@@ -1,8 +1,9 @@
|
|
1
1
|
=begin rdoc
|
2
2
|
add method methods2 so that it returns lists that are split into two kind of [adds a marker where the inherited methods begin].
|
3
3
|
=end
|
4
|
+
|
4
5
|
module Kernel
|
5
|
-
alias :methods_old :methods
|
6
|
+
#alias :methods_old :methods
|
6
7
|
def methods2 all = true
|
7
8
|
if all
|
8
9
|
# give some marker designating when the inherited methods start
|
@@ -13,7 +14,7 @@ module Kernel
|
|
13
14
|
end
|
14
15
|
end
|
15
16
|
|
16
|
-
class Object
|
17
|
+
class Object # TODO add to sane [?]
|
17
18
|
def my_methods(_super=false)
|
18
19
|
_methods = (_super) ? self.class.superclass.new.methods : Object.methods
|
19
20
|
(self.methods - _methods).sort
|
data/lib/ri_for/method_ri.rb
CHANGED
@@ -1,8 +1,11 @@
|
|
1
|
+
|
1
2
|
if RUBY_VERSION < '1.9'
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
unless RUBY_PLATFORM =~ /java/
|
4
|
+
require 'ruby2ruby'
|
5
|
+
require 'parse_tree'
|
6
|
+
gem 'rdp-arguments' # TODO why is this necessary?
|
7
|
+
require 'arguments' # rdp-arguments
|
8
|
+
end
|
6
9
|
end
|
7
10
|
|
8
11
|
class Object
|
@@ -65,32 +68,36 @@ module SourceLocationDesc
|
|
65
68
|
|
66
69
|
if !(respond_to? :source_location)
|
67
70
|
# pull out names for 1.8
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
71
|
+
unless RUBY_PLATFORM =~ /java/
|
72
|
+
begin
|
73
|
+
klass = eval(class_name)
|
74
|
+
# we don't call to_ruby to overcome ruby2ruby bug http://rubyforge.org/tracker/index.php?func=detail&aid=26891&group_id=1513&atid=5921
|
75
|
+
if joiner == '#'
|
76
|
+
raw_code = ParseTree.new.parse_tree_for_method(klass, method_name)
|
77
|
+
else
|
78
|
+
raw_code = ParseTree.new.parse_tree_for_method(klass.singleton_class, method_name) # singleton_class
|
79
|
+
end
|
80
|
+
doc << Ruby2Ruby.new.process(ParseTree.new.process(raw_code))
|
81
|
+
|
82
|
+
args = Arguments.names(klass, method_name, false) rescue Arguments.names(klass.singleton_class, method_name, false)
|
83
|
+
out = []
|
84
|
+
args.each{|arg_pair|
|
85
|
+
out << arg_pair.join(' = ')
|
86
|
+
} if args
|
87
|
+
out = out.join(', ')
|
88
|
+
return out if want_just_summary
|
89
|
+
|
90
|
+
param_string = "Parameters: #{method_name}(" + out + ")"
|
91
|
+
doc << param_string unless want_the_description_returned
|
92
|
+
rescue Exception => e
|
93
|
+
doc << "appears to be a c method"
|
94
|
+
puts "fail to parse tree: #{class_name} #{e} #{e.backtrace}" if $DEBUG
|
75
95
|
end
|
76
|
-
|
77
|
-
|
78
|
-
args = Arguments.names(klass, method_name, false) rescue Arguments.names(klass.singleton_class, method_name, false)
|
79
|
-
out = []
|
80
|
-
args.each{|arg_pair|
|
81
|
-
out << arg_pair.join(' = ')
|
82
|
-
} if args
|
83
|
-
out = out.join(', ')
|
84
|
-
return out if want_just_summary
|
85
|
-
|
86
|
-
param_string = "Parameters: #{method_name}(" + out + ")"
|
87
|
-
doc << param_string unless want_the_description_returned
|
88
|
-
rescue Exception => e
|
89
|
-
doc << "appears to be a c method"
|
90
|
-
puts "fail to parse tree: #{class_name} #{e} #{e.backtrace}" if $DEBUG
|
96
|
+
else
|
97
|
+
doc << "jruby does not allow introspection of method parameter names in 1.8.x AFAIK"
|
91
98
|
end
|
92
99
|
else
|
93
|
-
# 1.9.x
|
100
|
+
# 1.9.x or REE
|
94
101
|
file, line = source_location
|
95
102
|
param_string = to_s
|
96
103
|
if file
|
@@ -157,9 +164,6 @@ module SourceLocationDesc
|
|
157
164
|
|
158
165
|
end
|
159
166
|
|
160
|
-
class Method; include SourceLocationDesc; end
|
161
|
-
class UnboundMethod; include SourceLocationDesc; end
|
162
|
-
|
163
167
|
# TODO mixin from a separate module
|
164
168
|
|
165
169
|
class Object
|
@@ -181,3 +185,13 @@ class Object
|
|
181
185
|
end
|
182
186
|
end
|
183
187
|
end
|
188
|
+
|
189
|
+
class Method;
|
190
|
+
include SourceLocationDesc
|
191
|
+
alias ri_for ri # allow for File.method(:delete).ri_for as well
|
192
|
+
end
|
193
|
+
|
194
|
+
class UnboundMethod
|
195
|
+
include SourceLocationDesc
|
196
|
+
alias ri_for ri
|
197
|
+
end
|
data/test/rubydoctest.method.rb
CHANGED
@@ -1,124 +1,133 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'ffi'
|
3
|
-
require 'os'
|
4
|
-
|
5
|
-
class A
|
6
|
-
# a suh-weet rdoc
|
7
|
-
def go(a=5)
|
8
|
-
a = 33
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.go22(b=5)
|
12
|
-
b = 3
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
=begin
|
17
|
-
doctest_require: '../lib/ri_for'
|
18
|
-
>> output = A.ri_for(:go, :want_the_description_returned => true).join(' ')
|
19
|
-
>> output.include? 'a = 33'
|
20
|
-
=> true
|
21
|
-
>> RUBY_VERSION < '1.9' || output.include?('suh-weet')
|
22
|
-
=> true
|
23
|
-
|
24
|
-
>> output = A.new.ri_for(:go, :want_the_description_returned => true).join(' ')
|
25
|
-
>> output.include? 'a = 33'
|
26
|
-
=> true
|
27
|
-
>> RUBY_VERSION < '1.9' || output.include?('suh-weet')
|
28
|
-
=> true
|
29
|
-
|
30
|
-
>> output = A.ri_for(:go22, :want_the_description_returned => true).join(' ')
|
31
|
-
>> puts output
|
32
|
-
>> output.include? 'b = 3'
|
33
|
-
=> true
|
34
|
-
|
35
|
-
it should return you something useful
|
36
|
-
|
37
|
-
>> A.ri_for(:go22) == nil
|
38
|
-
=> false
|
39
|
-
>> A.ri_for(:go) == nil
|
40
|
-
=> false
|
41
|
-
|
42
|
-
it should work with Module
|
43
|
-
>> FFI::Library.ri_for(:attach_function, :want_the_description_returned => true).nil?
|
44
|
-
=> false
|
45
|
-
|
46
|
-
it should say c method for c
|
47
|
-
>> output = String.ri_for(:strip, :want_the_description_returned => true).join(' ')
|
48
|
-
>> output.include?('c method')
|
49
|
-
=> true
|
50
|
-
>> output = String.ri_for(:strip)
|
51
|
-
>> output.nil?
|
52
|
-
=> false
|
53
|
-
|
54
|
-
=end
|
55
|
-
|
56
|
-
|
57
|
-
=begin
|
58
|
-
doctest:
|
59
|
-
|
60
|
-
it should return true if you run it against a "real" class
|
61
|
-
>> String.desc_class(:want_output => true).length > 1
|
62
|
-
=> true
|
63
|
-
>> class A; end
|
64
|
-
>> A.desc_class(:want_output => true).length > 1
|
65
|
-
=> true
|
66
|
-
|
67
|
-
it shouldn't report itself as an ancestor of itself
|
68
|
-
>> A.desc_class(:want_output => true).grep(/ancestors/).include? '[A]'
|
69
|
-
=> false
|
70
|
-
|
71
|
-
also lists constants
|
72
|
-
>> A.desc_class(:want_output => true, :verbose => true).grep(/constants/i)
|
73
|
-
=> [] # should be none since we didn't add any constants to A
|
74
|
-
>> class A; B = 3; end
|
75
|
-
>> A.desc_class(:want_output => true, :verbose => true).grep(/constants/i).length
|
76
|
-
=> 1 # should be none since we didn't add any constants to A
|
77
|
-
|
78
|
-
should work with sub methods
|
79
|
-
>> String.ri_for(:strip)
|
80
|
-
|
81
|
-
doctest_require: '../lib/ri_for'
|
82
|
-
=end
|
83
|
-
|
84
|
-
=begin
|
85
|
-
doctest:
|
86
|
-
>> require 'pathname'
|
87
|
-
|
88
|
-
it should display the name
|
89
|
-
|
90
|
-
>> Pathname.instance_method(:children).desc(:want_the_description_returned => true).grep(/children/).size > 0
|
91
|
-
=> true # ["#<UnboundMethod: Pathname#children>"]
|
92
|
-
|
93
|
-
>> Pathname.instance_method(:children).desc(:want_the_description_returned => true).grep(/Dir.foreach/).size > 0
|
94
|
-
=> true # the code itself
|
95
|
-
|
96
|
-
and arity
|
97
|
-
>> Pathname.instance_method(:children).desc(:want_the_description_returned => true).grep(/arity/)
|
98
|
-
=> ["sig: Pathname#children arity -1"]
|
99
|
-
|
100
|
-
it should not duplicate arity
|
101
|
-
>> A.ri_for(:go, :want_the_description_returned => true).join(' ').scan(/arity/).length
|
102
|
-
=> 1
|
103
|
-
|
104
|
-
wurx with class methods
|
105
|
-
>> class A; def self.go(a = 3); a=5; end; end
|
106
|
-
>> class A; def go2(a=4) a =7; end; end
|
107
|
-
>> A.ri_for(:go)
|
108
|
-
>> A.ri_for(:go2)
|
109
|
-
|
110
|
-
# shouldn't duplicate "appear to be"
|
111
|
-
doctest: fail
|
112
|
-
>> a = File.ri_for(:delete, :want_the_description_returned => true).join(' ').scan(/appears to be/).length
|
113
|
-
=> 1
|
114
|
-
|
115
|
-
# should throw our own style exceptions
|
116
|
-
>> e = nil;begin; File.ri_for(:unknown); rescue NameError => e; end
|
117
|
-
>> e.to_s.include? "appears that"
|
118
|
-
=> true
|
119
|
-
|
120
|
-
>> a = `#{OS.ruby_bin} test_ri.rb`
|
121
|
-
>> a.include? "File.delete(file_name"
|
122
|
-
=> true
|
123
|
-
|
1
|
+
require 'rubygems'
|
2
|
+
require 'ffi'
|
3
|
+
require 'os'
|
4
|
+
|
5
|
+
class A
|
6
|
+
# a suh-weet rdoc
|
7
|
+
def go(a=5)
|
8
|
+
a = 33
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.go22(b=5)
|
12
|
+
b = 3
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
=begin
|
17
|
+
doctest_require: '../lib/ri_for'
|
18
|
+
>> output = A.ri_for(:go, :want_the_description_returned => true).join(' ')
|
19
|
+
>> output.include? 'a = 33'
|
20
|
+
=> true
|
21
|
+
>> RUBY_VERSION < '1.9' || output.include?('suh-weet')
|
22
|
+
=> true
|
23
|
+
|
24
|
+
>> output = A.new.ri_for(:go, :want_the_description_returned => true).join(' ')
|
25
|
+
>> output.include? 'a = 33'
|
26
|
+
=> true
|
27
|
+
>> RUBY_VERSION < '1.9' || output.include?('suh-weet')
|
28
|
+
=> true
|
29
|
+
|
30
|
+
>> output = A.ri_for(:go22, :want_the_description_returned => true).join(' ')
|
31
|
+
>> puts output
|
32
|
+
>> output.include? 'b = 3'
|
33
|
+
=> true
|
34
|
+
|
35
|
+
it should return you something useful
|
36
|
+
|
37
|
+
>> A.ri_for(:go22) == nil
|
38
|
+
=> false
|
39
|
+
>> A.ri_for(:go) == nil
|
40
|
+
=> false
|
41
|
+
|
42
|
+
it should work with Module
|
43
|
+
>> FFI::Library.ri_for(:attach_function, :want_the_description_returned => true).nil?
|
44
|
+
=> false
|
45
|
+
|
46
|
+
it should say c method for c
|
47
|
+
>> output = String.ri_for(:strip, :want_the_description_returned => true).join(' ')
|
48
|
+
>> output.include?('c method')
|
49
|
+
=> true
|
50
|
+
>> output = String.ri_for(:strip)
|
51
|
+
>> output.nil?
|
52
|
+
=> false
|
53
|
+
|
54
|
+
=end
|
55
|
+
|
56
|
+
|
57
|
+
=begin
|
58
|
+
doctest:
|
59
|
+
|
60
|
+
it should return true if you run it against a "real" class
|
61
|
+
>> String.desc_class(:want_output => true).length > 1
|
62
|
+
=> true
|
63
|
+
>> class A; end
|
64
|
+
>> A.desc_class(:want_output => true).length > 1
|
65
|
+
=> true
|
66
|
+
|
67
|
+
it shouldn't report itself as an ancestor of itself
|
68
|
+
>> A.desc_class(:want_output => true).grep(/ancestors/).include? '[A]'
|
69
|
+
=> false
|
70
|
+
|
71
|
+
also lists constants
|
72
|
+
>> A.desc_class(:want_output => true, :verbose => true).grep(/constants/i)
|
73
|
+
=> [] # should be none since we didn't add any constants to A
|
74
|
+
>> class A; B = 3; end
|
75
|
+
>> A.desc_class(:want_output => true, :verbose => true).grep(/constants/i).length
|
76
|
+
=> 1 # should be none since we didn't add any constants to A
|
77
|
+
|
78
|
+
should work with sub methods
|
79
|
+
>> String.ri_for(:strip)
|
80
|
+
|
81
|
+
doctest_require: '../lib/ri_for'
|
82
|
+
=end
|
83
|
+
|
84
|
+
=begin
|
85
|
+
doctest:
|
86
|
+
>> require 'pathname'
|
87
|
+
|
88
|
+
it should display the name
|
89
|
+
|
90
|
+
>> Pathname.instance_method(:children).desc(:want_the_description_returned => true).grep(/children/).size > 0
|
91
|
+
=> true # ["#<UnboundMethod: Pathname#children>"]
|
92
|
+
|
93
|
+
>> Pathname.instance_method(:children).desc(:want_the_description_returned => true).grep(/Dir.foreach/).size > 0
|
94
|
+
=> true # the code itself
|
95
|
+
|
96
|
+
and arity
|
97
|
+
>> Pathname.instance_method(:children).desc(:want_the_description_returned => true).grep(/arity/)
|
98
|
+
=> ["sig: Pathname#children arity -1"]
|
99
|
+
|
100
|
+
it should not duplicate arity
|
101
|
+
>> A.ri_for(:go, :want_the_description_returned => true).join(' ').scan(/arity/).length
|
102
|
+
=> 1
|
103
|
+
|
104
|
+
wurx with class methods
|
105
|
+
>> class A; def self.go(a = 3); a=5; end; end
|
106
|
+
>> class A; def go2(a=4) a =7; end; end
|
107
|
+
>> A.ri_for(:go)
|
108
|
+
>> A.ri_for(:go2)
|
109
|
+
|
110
|
+
# shouldn't duplicate "appear to be"
|
111
|
+
doctest: fail
|
112
|
+
>> a = File.ri_for(:delete, :want_the_description_returned => true).join(' ').scan(/appears to be/).length
|
113
|
+
=> 1
|
114
|
+
|
115
|
+
# should throw our own style exceptions
|
116
|
+
>> e = nil;begin; File.ri_for(:unknown); rescue NameError => e; end
|
117
|
+
>> e.to_s.include? "appears that"
|
118
|
+
=> true
|
119
|
+
|
120
|
+
>> a = `#{OS.ruby_bin} test_ri.rb`
|
121
|
+
>> a.include? "File.delete(file_name"
|
122
|
+
=> true
|
123
|
+
=end
|
124
|
+
|
125
|
+
=begin
|
126
|
+
doctest: it should work with method objects themselves
|
127
|
+
>> b = File.method(:delete)
|
128
|
+
>> b.ri_for
|
129
|
+
=> "sig: File.delete arity -1"
|
130
|
+
|
131
|
+
# TODO
|
132
|
+
|
124
133
|
=end
|
data/test/test_ri.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,140 +1,146 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ri_for
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease:
|
5
|
+
version: 0.6.0
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
|
-
- Roger Pack
|
8
|
+
- Roger Pack
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
12
|
|
12
|
-
date:
|
13
|
-
default_executable:
|
13
|
+
date: 2011-09-01 00:00:00 Z
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
- !ruby/object:Gem::
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rdoc
|
17
|
+
prerelease: false
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "2.3"
|
24
|
+
type: :runtime
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rdp-arguments
|
28
|
+
prerelease: false
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 0.6.4
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: ParseTree
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: "0"
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id003
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: ruby2ruby
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: "0"
|
57
|
+
type: :runtime
|
58
|
+
version_requirements: *id004
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: sane
|
61
|
+
prerelease: false
|
62
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 0.20.1
|
68
|
+
type: :development
|
69
|
+
version_requirements: *id005
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rubydoctest
|
72
|
+
prerelease: false
|
73
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: "0"
|
79
|
+
type: :development
|
80
|
+
version_requirements: *id006
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: ffi
|
83
|
+
prerelease: false
|
84
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: "0"
|
90
|
+
type: :development
|
91
|
+
version_requirements: *id007
|
85
92
|
description: ruby method describer to make it possible to inspect methods [rdoc, signature, etc.] at runtime, for example while debugging.
|
86
93
|
email:
|
87
|
-
- rogerdpack@gmail.comm
|
94
|
+
- rogerdpack@gmail.comm
|
88
95
|
executables: []
|
89
96
|
|
90
97
|
extensions: []
|
91
98
|
|
92
99
|
extra_rdoc_files:
|
93
|
-
-
|
94
|
-
-
|
100
|
+
- ChangeLog
|
101
|
+
- README
|
102
|
+
- TODO
|
95
103
|
files:
|
96
|
-
-
|
97
|
-
-
|
98
|
-
-
|
99
|
-
-
|
100
|
-
- lib/ri_for
|
101
|
-
- lib/ri_for/
|
102
|
-
- lib/ri_for/
|
103
|
-
-
|
104
|
-
- test/rubydoctest.
|
105
|
-
- test/
|
106
|
-
-
|
107
|
-
-
|
108
|
-
|
104
|
+
- ChangeLog
|
105
|
+
- README
|
106
|
+
- Rakefile
|
107
|
+
- VERSION
|
108
|
+
- lib/ri_for.rb
|
109
|
+
- lib/ri_for/class_desc.rb
|
110
|
+
- lib/ri_for/kernel_new_methods_list.rb
|
111
|
+
- lib/ri_for/method_ri.rb
|
112
|
+
- test/rubydoctest.big.rb
|
113
|
+
- test/rubydoctest.method.rb
|
114
|
+
- test/test_ri.rb
|
115
|
+
- test/test_ri_rb_used_internally
|
116
|
+
- todo
|
117
|
+
- TODO
|
109
118
|
homepage: http://github.com/rogerdpack/ri_for
|
110
119
|
licenses: []
|
111
120
|
|
112
121
|
post_install_message:
|
113
|
-
rdoc_options:
|
114
|
-
|
122
|
+
rdoc_options: []
|
123
|
+
|
115
124
|
require_paths:
|
116
|
-
- lib
|
125
|
+
- lib
|
117
126
|
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
118
128
|
requirements:
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
version:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: "0"
|
123
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
124
134
|
requirements:
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
version:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: "0"
|
129
138
|
requirements: []
|
130
139
|
|
131
140
|
rubyforge_project:
|
132
|
-
rubygems_version: 1.
|
141
|
+
rubygems_version: 1.8.9
|
133
142
|
signing_key:
|
134
143
|
specification_version: 3
|
135
144
|
summary: ruby method describer to make it possible to inspect methods [rdoc, signature, etc.] at runtime, for example while debugging.
|
136
|
-
test_files:
|
137
|
-
|
138
|
-
- test/rubydoctest.big.rb
|
139
|
-
- test/rubydoctest.method.rb
|
140
|
-
- test/test_ri.rb
|
145
|
+
test_files: []
|
146
|
+
|