method_source 0.6.7 → 0.7.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/Rakefile +0 -1
- data/lib/method_source.rb +17 -30
- data/lib/method_source/version.rb +1 -1
- data/method_source.gemspec +2 -5
- metadata +32 -75
data/Rakefile
CHANGED
@@ -19,7 +19,6 @@ def apply_spec_defaults(s)
|
|
19
19
|
s.email = 'jrmair@gmail.com'
|
20
20
|
s.description = s.summary
|
21
21
|
s.require_path = 'lib'
|
22
|
-
s.add_dependency("ruby_parser",">= 2.3.1")
|
23
22
|
|
24
23
|
s.add_development_dependency("bacon","~>1.1.0")
|
25
24
|
s.add_development_dependency("rake", "~>0.9")
|
data/lib/method_source.rb
CHANGED
@@ -7,38 +7,25 @@ require "#{direc}/method_source/version"
|
|
7
7
|
require "#{direc}/method_source/source_location"
|
8
8
|
|
9
9
|
module MethodSource
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
def self.valid_expression?(code)
|
22
|
-
!!Ripper::SexpBuilder.new(code).parse
|
23
|
-
end
|
24
|
-
|
25
|
-
else
|
26
|
-
require 'ruby_parser'
|
27
|
-
|
28
|
-
# Determine if a string of code is a valid Ruby expression.
|
29
|
-
# Ruby 1.9 uses Ripper, Ruby 1.8 uses RubyParser.
|
30
|
-
# @param [String] code The code to validate.
|
31
|
-
# @return [Boolean] Whether or not the code is a valid Ruby expression.
|
32
|
-
# @example
|
33
|
-
# valid_expression?("class Hello") #=> false
|
34
|
-
# valid_expression?("class Hello; end") #=> true
|
35
|
-
def self.valid_expression?(code)
|
36
|
-
RubyParser.new.parse(code)
|
37
|
-
rescue Racc::ParseError, SyntaxError
|
38
|
-
false
|
10
|
+
# Determine if a string of code is a valid Ruby expression.
|
11
|
+
# @param [String] code The code to validate.
|
12
|
+
# @return [Boolean] Whether or not the code is a valid Ruby expression.
|
13
|
+
# @example
|
14
|
+
# valid_expression?("class Hello") #=> false
|
15
|
+
# valid_expression?("class Hello; end") #=> true
|
16
|
+
def self.valid_expression?(str)
|
17
|
+
if defined?(Rubinius::Melbourne19) && RUBY_VERSION =~ /^1\.9/
|
18
|
+
Rubinius::Melbourne19.parse_string(str)
|
19
|
+
elsif defined?(Rubinius::Melbourne)
|
20
|
+
Rubinius::Melbourne.parse_string(str)
|
39
21
|
else
|
40
|
-
|
22
|
+
catch(:valid) {
|
23
|
+
eval("BEGIN{throw :valid}\n#{str}")
|
24
|
+
}
|
41
25
|
end
|
26
|
+
true
|
27
|
+
rescue SyntaxError
|
28
|
+
false
|
42
29
|
end
|
43
30
|
|
44
31
|
# Helper method responsible for extracting method body.
|
data/method_source.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "method_source"
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.7.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["John Mair (banisterfiend)"]
|
9
|
-
s.date = "
|
9
|
+
s.date = "2012-01-01"
|
10
10
|
s.description = "retrieve the sourcecode for a method"
|
11
11
|
s.email = "jrmair@gmail.com"
|
12
12
|
s.files = [".gemtest", ".travis.yml", ".yardopts", "Gemfile", "LICENSE", "README.markdown", "Rakefile", "lib/method_source.rb", "lib/method_source/source_location.rb", "lib/method_source/version.rb", "method_source.gemspec", "test/test.rb", "test/test_helper.rb"]
|
@@ -20,16 +20,13 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.specification_version = 3
|
21
21
|
|
22
22
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
23
|
-
s.add_runtime_dependency(%q<ruby_parser>, [">= 2.3.1"])
|
24
23
|
s.add_development_dependency(%q<bacon>, ["~> 1.1.0"])
|
25
24
|
s.add_development_dependency(%q<rake>, ["~> 0.9"])
|
26
25
|
else
|
27
|
-
s.add_dependency(%q<ruby_parser>, [">= 2.3.1"])
|
28
26
|
s.add_dependency(%q<bacon>, ["~> 1.1.0"])
|
29
27
|
s.add_dependency(%q<rake>, ["~> 0.9"])
|
30
28
|
end
|
31
29
|
else
|
32
|
-
s.add_dependency(%q<ruby_parser>, [">= 2.3.1"])
|
33
30
|
s.add_dependency(%q<bacon>, ["~> 1.1.0"])
|
34
31
|
s.add_dependency(%q<rake>, ["~> 0.9"])
|
35
32
|
end
|
metadata
CHANGED
@@ -1,78 +1,44 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: method_source
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.7.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 6
|
9
|
-
- 7
|
10
|
-
version: 0.6.7
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- John Mair (banisterfiend)
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
name: ruby_parser
|
22
|
-
prerelease: false
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
|
-
requirements:
|
26
|
-
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 1
|
29
|
-
segments:
|
30
|
-
- 2
|
31
|
-
- 3
|
32
|
-
- 1
|
33
|
-
version: 2.3.1
|
34
|
-
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-01-01 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
37
15
|
name: bacon
|
38
|
-
|
39
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70179976064580 !ruby/object:Gem::Requirement
|
40
17
|
none: false
|
41
|
-
requirements:
|
18
|
+
requirements:
|
42
19
|
- - ~>
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
hash: 19
|
45
|
-
segments:
|
46
|
-
- 1
|
47
|
-
- 1
|
48
|
-
- 0
|
20
|
+
- !ruby/object:Gem::Version
|
49
21
|
version: 1.1.0
|
50
22
|
type: :development
|
51
|
-
version_requirements: *id002
|
52
|
-
- !ruby/object:Gem::Dependency
|
53
|
-
name: rake
|
54
23
|
prerelease: false
|
55
|
-
|
24
|
+
version_requirements: *70179976064580
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rake
|
27
|
+
requirement: &70179976063220 !ruby/object:Gem::Requirement
|
56
28
|
none: false
|
57
|
-
requirements:
|
29
|
+
requirements:
|
58
30
|
- - ~>
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
|
61
|
-
segments:
|
62
|
-
- 0
|
63
|
-
- 9
|
64
|
-
version: "0.9"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0.9'
|
65
33
|
type: :development
|
66
|
-
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70179976063220
|
67
36
|
description: retrieve the sourcecode for a method
|
68
37
|
email: jrmair@gmail.com
|
69
38
|
executables: []
|
70
|
-
|
71
39
|
extensions: []
|
72
|
-
|
73
40
|
extra_rdoc_files: []
|
74
|
-
|
75
|
-
files:
|
41
|
+
files:
|
76
42
|
- .gemtest
|
77
43
|
- .travis.yml
|
78
44
|
- .yardopts
|
@@ -88,37 +54,28 @@ files:
|
|
88
54
|
- test/test_helper.rb
|
89
55
|
homepage: http://banisterfiend.wordpress.com
|
90
56
|
licenses: []
|
91
|
-
|
92
57
|
post_install_message:
|
93
58
|
rdoc_options: []
|
94
|
-
|
95
|
-
require_paths:
|
59
|
+
require_paths:
|
96
60
|
- lib
|
97
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
61
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
62
|
none: false
|
99
|
-
requirements:
|
100
|
-
- -
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
|
103
|
-
|
104
|
-
- 0
|
105
|
-
version: "0"
|
106
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
68
|
none: false
|
108
|
-
requirements:
|
109
|
-
- -
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
|
112
|
-
segments:
|
113
|
-
- 0
|
114
|
-
version: "0"
|
69
|
+
requirements:
|
70
|
+
- - ! '>='
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0'
|
115
73
|
requirements: []
|
116
|
-
|
117
74
|
rubyforge_project:
|
118
75
|
rubygems_version: 1.8.10
|
119
76
|
signing_key:
|
120
77
|
specification_version: 3
|
121
78
|
summary: retrieve the sourcecode for a method
|
122
|
-
test_files:
|
79
|
+
test_files:
|
123
80
|
- test/test.rb
|
124
81
|
- test/test_helper.rb
|