synvert-core 0.27.3 → 0.27.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
  SHA256:
3
- metadata.gz: ddab57669b905a8064083e20672a292f78cce5a651331d9202e3fce12a34f776
4
- data.tar.gz: d0d9dcb748214c6d0a35609a5cdcc2fdae44e112af7ed4ce15a8e22cc9d19919
3
+ metadata.gz: a239badccf8d5b2774e75423755123fe55393f951cb3064030800ce351e014bf
4
+ data.tar.gz: df9c575e61f833873bafaa672b95977390ce5eef62ace7898f209f684fef595d
5
5
  SHA512:
6
- metadata.gz: e1964409321d68628e1e73b24ed77f9c2e223dc9190fdfde722e2ab9e6be92b0be7802468dca245a34d5fba52f3a8778ca26f9299df095308b32cb2da80a3393
7
- data.tar.gz: 42ed0ba17c74b57c3b1e0019d5f50ddf9bda0f5f1a3564b124ba2b0cf379b95b124e344113bdce8c53852fb911e9744725fa91ec3593943022636584ad6c17ff
6
+ metadata.gz: fc153d13c26d917155db767031b5371df250014e1c86cfbf58e89693775e5488a02276e272a62e6c41489a744056846ff2237f74433c283dbfc5b9664c989372
7
+ data.tar.gz: 4c6e8df70fc14379a871b1b187ef9ce4b3b32ec964aedf096d6db1f69ae911e005933576b1adbc01478a61b1c694a1d7002bd1d4f0647f1e421bcbe894f191f5
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.27.4 (2021-04-01)
4
+
5
+ * Support `:block` in `child_node_range`
6
+
3
7
  ## 0.27.3 (2021-03-31)
4
8
 
5
9
  * Support `:def` in `child_node_range`
@@ -323,6 +323,13 @@ module Parser::AST
323
323
  # @return [Parser::Source::Range] source range of child node.
324
324
  def child_node_range(child_name)
325
325
  case type
326
+ when :block
327
+ case child_name
328
+ when :caller
329
+ caller&.loc&.expression
330
+ when :arguments
331
+ arguments&.loc&.expression
332
+ end
326
333
  when :class
327
334
  case child_name
328
335
  when :name
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Synvert
4
4
  module Core
5
- VERSION = '0.27.3'
5
+ VERSION = '0.27.4'
6
6
  end
7
7
  end
@@ -395,6 +395,20 @@ describe Parser::AST::Node do
395
395
  end
396
396
 
397
397
  describe '#child_node_range' do
398
+ context 'block node' do
399
+ it 'checks caller' do
400
+ node = parse('Factory.define :user do |user|; end')
401
+ range = node.child_node_range(:caller)
402
+ expect(range.to_range).to eq(0...20)
403
+ end
404
+
405
+ it 'checks arguments' do
406
+ node = parse('Factory.define :user do |user|; end')
407
+ range = node.child_node_range(:arguments)
408
+ expect(range.to_range).to eq(24...30)
409
+ end
410
+ end
411
+
398
412
  context 'class node' do
399
413
  it 'checks name' do
400
414
  node = parse('class Post < ActiveRecord::Base; end')
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.27.3
4
+ version: 0.27.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: 2021-03-31 00:00:00.000000000 Z
11
+ date: 2021-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport