synvert-core 0.6.3 → 0.6.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bccfebdd70bca3e49d4fd8cf7ca2fb766cdc8d2c
4
- data.tar.gz: 40b8ff41f248de2a48a289ceaaf00303d3f78c14
3
+ metadata.gz: e61e52508b0f3dd263ef8dd9ddc0ec8441d43846
4
+ data.tar.gz: 4e23518975d109369caa39b5a357fe237800ad23
5
5
  SHA512:
6
- metadata.gz: 1724274f0715e0a0b523ed0f4985c7665c6a8deee24244378eabd5b934d1a895742a3fc3bc0bc33ba637ad5110d75afae77091857df895f5aacc0d3721c978df
7
- data.tar.gz: 2578b1a620f8798376fcf4868e2cfce426b6552426dd28ae3fd34bcc157d0223fed65ad7eb7966b2ad19f037ff527bd25f49eca4182c1594f276786f5de6df5e
6
+ metadata.gz: edc8aaef7f0328efa7e0af725621b09be308033a51ec7ffc6da2e630f53e1bb9ab661ef62cb479949d72ed4a0d94a6661cd9ac1dde010086a6b317882cec90aa
7
+ data.tar.gz: 54f92440ca353f2c2183af72e8a4f8a7b3ba0cd1b08e0ff1facf7bbd8fc1745de5ef101fa3dfdf63696f66a7ff67926179149da0a9754d1e8aee1e74c2301989
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.6.4
4
+
5
+ * Add arguments for def and defs nodes
6
+ * Add name for arg and blockarg nodes
7
+
3
8
  ## 0.6.3
4
9
 
5
10
  * Rewriter.available always returns a hash
@@ -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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Synvert
4
4
  module Core
5
- VERSION = "0.6.3"
5
+ VERSION = "0.6.4"
6
6
  end
7
7
  end
@@ -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 send node' do
52
- node = parse("FactoryGirl.create :post, title: 'post'")
53
- expect(node.arguments).to eq parse("[:post, title: 'post']").children
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
- source = 'RSpec.configure do |config|; end'
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.3
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-15 00:00:00.000000000 Z
11
+ date: 2014-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser