synvert-core 0.6.3 → 0.6.4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/synvert/core/node_ext.rb +5 -3
- data/lib/synvert/core/version.rb +1 -1
- data/spec/synvert/core/node_ext_spec.rb +24 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e61e52508b0f3dd263ef8dd9ddc0ec8441d43846
|
4
|
+
data.tar.gz: 4e23518975d109369caa39b5a357fe237800ad23
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: edc8aaef7f0328efa7e0af725621b09be308033a51ec7ffc6da2e630f53e1bb9ab661ef62cb479949d72ed4a0d94a6661cd9ac1dde010086a6b317882cec90aa
|
7
|
+
data.tar.gz: 54f92440ca353f2c2183af72e8a4f8a7b3ba0cd1b08e0ff1facf7bbd8fc1745de5ef101fa3dfdf63696f66a7ff67926179149da0a9754d1e8aee1e74c2301989
|
data/CHANGELOG.md
CHANGED
@@ -30,7 +30,7 @@ module Parser::AST
|
|
30
30
|
# @raise [Synvert::Core::MethodNotSupported] if calls on other node.
|
31
31
|
def name
|
32
32
|
case self.type
|
33
|
-
when :class, :module, :def
|
33
|
+
when :class, :module, :def, :arg, :blockarg
|
34
34
|
self.children[0]
|
35
35
|
when :defs
|
36
36
|
self.children[1]
|
@@ -81,10 +81,12 @@ module Parser::AST
|
|
81
81
|
# @raise [Synvert::Core::MethodNotSupported] if calls on other node.
|
82
82
|
def arguments
|
83
83
|
case self.type
|
84
|
+
when :def, :block
|
85
|
+
ArgumentsNode.new self.children[1]
|
86
|
+
when :defs
|
87
|
+
ArgumentsNode.new self.children[2]
|
84
88
|
when :send
|
85
89
|
self.children[2..-1]
|
86
|
-
when :block
|
87
|
-
ArgumentsNode.new self.children[1]
|
88
90
|
when :defined?
|
89
91
|
self.children
|
90
92
|
else
|
data/lib/synvert/core/version.rb
CHANGED
@@ -24,6 +24,16 @@ describe Parser::AST::Node do
|
|
24
24
|
node = parse('def self.current_node; end')
|
25
25
|
expect(node.name).to eq :current_node
|
26
26
|
end
|
27
|
+
|
28
|
+
it 'gets for arg node' do
|
29
|
+
node = parse('def test(foo); end')
|
30
|
+
expect(node.arguments.first.name).to eq :foo
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'gets for blockarg node' do
|
34
|
+
node = parse('def test(&block); end')
|
35
|
+
expect(node.arguments.first.name).to eq :block
|
36
|
+
end
|
27
37
|
end
|
28
38
|
|
29
39
|
describe '#parent_class' do
|
@@ -48,17 +58,26 @@ describe Parser::AST::Node do
|
|
48
58
|
end
|
49
59
|
|
50
60
|
describe '#arguments' do
|
51
|
-
it 'gets for
|
52
|
-
node = parse("
|
53
|
-
expect(node.arguments).to eq
|
61
|
+
it 'gets for def node' do
|
62
|
+
node = parse("def test(foo, bar); foo + bar; end")
|
63
|
+
expect(node.arguments.map { |argument| argument.to_source }).to eq ['foo', 'bar']
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'gets for defs node' do
|
67
|
+
node = parse("def self.test(foo, bar); foo + bar; end")
|
68
|
+
expect(node.arguments.map { |argument| argument.to_source }).to eq ['foo', 'bar']
|
54
69
|
end
|
55
70
|
|
56
71
|
it 'gets for block node' do
|
57
|
-
|
58
|
-
node = parse(source)
|
72
|
+
node = parse('RSpec.configure do |config|; end')
|
59
73
|
expect(node.arguments.map { |argument| argument.to_source }).to eq ['config']
|
60
74
|
end
|
61
75
|
|
76
|
+
it 'gets for send node' do
|
77
|
+
node = parse("FactoryGirl.create :post, title: 'post'")
|
78
|
+
expect(node.arguments).to eq parse("[:post, title: 'post']").children
|
79
|
+
end
|
80
|
+
|
62
81
|
it 'gets for defined? node' do
|
63
82
|
node = parse('defined?(Bundler)')
|
64
83
|
expect(node.arguments).to eq [parse('Bundler')]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: synvert-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Huang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|