yard_ast_editable 0.1.2 → 0.1.3
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/Gemfile +1 -1
- data/VERSION +1 -1
- data/lib/yard_ast_editable.rb +3 -3
- data/spec/yard_ast_editable_spec.rb +4 -4
- data/spec/yard_ast_spec.rb +39 -0
- data/yard_ast_editable.gemspec +5 -5
- metadata +5 -5
data/Gemfile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
data/lib/yard_ast_editable.rb
CHANGED
@@ -30,11 +30,11 @@ module YardAstEditable
|
|
30
30
|
result = block.source
|
31
31
|
case block.type
|
32
32
|
when :do_block then
|
33
|
-
result.sub!(
|
34
|
-
result.sub!(/end
|
33
|
+
result.sub!(/\Ado\s*(\|.*?\|)?\n?/, '')
|
34
|
+
result.sub!(/end[\s\n]*\Z/, '')
|
35
35
|
when :brace_block then
|
36
36
|
result.sub!(/^\{\s*(\|.*?\|)?\n?/, '')
|
37
|
-
result.sub!(/\}
|
37
|
+
result.sub!(/\}[\s\n]*\Z/, '')
|
38
38
|
end
|
39
39
|
result
|
40
40
|
end
|
@@ -64,18 +64,18 @@ describe "YardAstEditable" do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
describe :children_source do
|
67
|
-
|
67
|
+
|
68
68
|
it "do...endブロックの中身を取得" do
|
69
69
|
node = @ast.fcall_by_ident(:foo1){|fcall|
|
70
70
|
fcall.arguments.length == 2 && (n = fcall.arguments.first; n.source == ":name2")
|
71
71
|
}
|
72
|
-
fcall = YardAstEditable::Fcall.new(node)
|
72
|
+
fcall = YardAstEditable::Fcall.new(node)
|
73
73
|
fcall.block_content_source.should == %q{ # bar1 #3 S
|
74
74
|
bar1{ puts "name2 bar1" }
|
75
75
|
# bar1 #3 E
|
76
76
|
}
|
77
77
|
end
|
78
|
-
|
78
|
+
|
79
79
|
it "{}ブロックの中身を取得" do
|
80
80
|
node = @ast.fcall_by_ident(:bar1){|fcall|
|
81
81
|
fcall.arguments.length == 1 && (n = fcall.arguments.first; n.source == '"name2"')
|
@@ -86,7 +86,7 @@ describe "YardAstEditable" do
|
|
86
86
|
# b2 E
|
87
87
|
}
|
88
88
|
end
|
89
|
-
|
89
|
+
|
90
90
|
end
|
91
91
|
|
92
92
|
|
data/spec/yard_ast_spec.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
1
2
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
3
|
|
3
4
|
describe "YardAst" do
|
@@ -142,4 +143,42 @@ describe "YardAst" do
|
|
142
143
|
end
|
143
144
|
end
|
144
145
|
|
146
|
+
|
147
|
+
describe YardAstEditable::Fcall do
|
148
|
+
before do
|
149
|
+
script = <<-EOS
|
150
|
+
instance("i-12345678") do
|
151
|
+
agent("mm_system_agent") do
|
152
|
+
service("system")
|
153
|
+
end
|
154
|
+
end
|
155
|
+
EOS
|
156
|
+
ast = YARD::Parser::Ruby::RubyParser.new(script, nil).parse.root
|
157
|
+
node = ast.fcall_by_ident(:instance){|fcall|
|
158
|
+
!fcall.arguments.empty? && (n = fcall.arguments.first; n.first.source == "i-12345678")
|
159
|
+
}
|
160
|
+
@caller = YardAstEditable::Fcall.new(node)
|
161
|
+
end
|
162
|
+
|
163
|
+
describe :block_content_source do
|
164
|
+
# reported by totty. ありがとー
|
165
|
+
it "[BUG] ネストしているブロックの内部のendの処理がおかしい" do
|
166
|
+
# バグ修正前は以下のようになっていました。
|
167
|
+
# - agent("mm_system_agent") do
|
168
|
+
# +agent("mm_system_agent") do
|
169
|
+
# service("system")
|
170
|
+
# - end
|
171
|
+
# +
|
172
|
+
# +end
|
173
|
+
@caller.block.nil?.should be_false
|
174
|
+
result = @caller.block_content_source
|
175
|
+
result.should == <<-EXPECT
|
176
|
+
agent("mm_system_agent") do
|
177
|
+
service("system")
|
178
|
+
end
|
179
|
+
EXPECT
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
145
184
|
end
|
data/yard_ast_editable.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{yard_ast_editable}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["akimatter"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2011-01-27}
|
13
13
|
s.description = %q{yard extension to modify source code by using AST Node}
|
14
14
|
s.email = %q{akm2000@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -46,20 +46,20 @@ Gem::Specification.new do |s|
|
|
46
46
|
s.specification_version = 3
|
47
47
|
|
48
48
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
49
|
-
s.add_runtime_dependency(%q<yard>, ["
|
49
|
+
s.add_runtime_dependency(%q<yard>, ["= 0.6.3"])
|
50
50
|
s.add_development_dependency(%q<rspec>, ["~> 2.1.0"])
|
51
51
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
52
52
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
|
53
53
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
54
54
|
else
|
55
|
-
s.add_dependency(%q<yard>, ["
|
55
|
+
s.add_dependency(%q<yard>, ["= 0.6.3"])
|
56
56
|
s.add_dependency(%q<rspec>, ["~> 2.1.0"])
|
57
57
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
58
58
|
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
59
59
|
s.add_dependency(%q<rcov>, [">= 0"])
|
60
60
|
end
|
61
61
|
else
|
62
|
-
s.add_dependency(%q<yard>, ["
|
62
|
+
s.add_dependency(%q<yard>, ["= 0.6.3"])
|
63
63
|
s.add_dependency(%q<rspec>, ["~> 2.1.0"])
|
64
64
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
65
65
|
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 3
|
9
|
+
version: 0.1.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- akimatter
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date:
|
17
|
+
date: 2011-01-27 00:00:00 +09:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -22,7 +22,7 @@ dependencies:
|
|
22
22
|
requirement: &id001 !ruby/object:Gem::Requirement
|
23
23
|
none: false
|
24
24
|
requirements:
|
25
|
-
- - "
|
25
|
+
- - "="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
segments:
|
28
28
|
- 0
|
@@ -126,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
126
|
requirements:
|
127
127
|
- - ">="
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
hash:
|
129
|
+
hash: -2766169714054516106
|
130
130
|
segments:
|
131
131
|
- 0
|
132
132
|
version: "0"
|