yard_ast_editable 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
- gem "yard", ">= 0.6.3"
6
+ gem "yard", "= 0.6.3"
7
7
 
8
8
  # Add dependencies to develop your gem here.
9
9
  # Include everything needed to run rake, tests, features, etc.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
@@ -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!(/^do\s*(\|.*?\|)?\n?/, '')
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
 
@@ -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
@@ -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.2"
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{2010-12-06}
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>, [">= 0.6.3"])
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>, [">= 0.6.3"])
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>, [">= 0.6.3"])
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
- - 2
9
- version: 0.1.2
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: 2010-12-06 00:00:00 +09:00
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: 3450069555588162524
129
+ hash: -2766169714054516106
130
130
  segments:
131
131
  - 0
132
132
  version: "0"