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 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"