synvert-core 0.26.0 → 0.26.1

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: a2dcb08f4af325c83596a4ab4ff8ddf43a11500629e96dbccce9fa070dcf7fbc
4
- data.tar.gz: 4d428fd96a41f1a31b32d6f301562f093c752d6ec63a1dd5641f6f66a62605b7
3
+ metadata.gz: e3f85c5eb0a82ffb3447ad72ac9f901883a074b1f16c244176008a333b3e90cc
4
+ data.tar.gz: c13b895edc3ef7f9d126795933e2bf01267b0b912e2904a4481baff175eebca4
5
5
  SHA512:
6
- metadata.gz: ae47fbf7a0ce9ddae8e221b9508f981534118e5c303ec1736d391db51477a477d338bbfdc215ecd3af5ba4ff6cd0090995c5a17fab6d249a24d46501f941d3b7
7
- data.tar.gz: 6cf6396cbd3deb8b1d66a1166caa8a584ef0145ebd719b067d1d705f73f7f1d0177e910e16c16c55f19034995d4b641837149185ee318aefe1303e3d8e7db625
6
+ metadata.gz: 16ceb23eaf30909e4950cefbaae20b650f90320a496fee4a095a054dc7996fe91bfbcb79fc6252caa38f09b5998c687d4171bee050fc605cf2c8ee8ddac93c61
7
+ data.tar.gz: fc0202a47909b7bcffdd0e235c198419afcf2653f89bcd9abce626b412ab3c4a92a0bfbc71be8971873d15aeac85e4e2d0f80575ee44f75374d7c755af281c12
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.26.1 (2021-03-31)
4
+
5
+ * Support `:class` in `child_node_range`
6
+
3
7
  ## 0.26.0 (2021-03-30)
4
8
 
5
9
  * attr_reader ruby_version and gem_spec
@@ -323,12 +323,17 @@ 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 :class
327
+ case child_name
328
+ when :name
329
+ loc.name
330
+ when :parent_class
331
+ parent_class&.loc&.expression
332
+ end
326
333
  when :send
327
334
  case child_name
328
335
  when :receiver
329
336
  receiver&.loc&.expression
330
- when :dot
331
- loc.dot
332
337
  when :message
333
338
  loc.selector
334
339
  when :arguments
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Synvert
4
4
  module Core
5
- VERSION = '0.26.0'
5
+ VERSION = '0.26.1'
6
6
  end
7
7
  end
@@ -406,16 +406,6 @@ describe Parser::AST::Node do
406
406
  expect(range).to be_nil
407
407
  end
408
408
 
409
- it 'checks dot' do
410
- node = parse('foo.bar(test)')
411
- range = node.child_node_range(:dot)
412
- expect(range.to_range).to eq(3...4)
413
-
414
- node = parse('foobar(test)')
415
- range = node.child_node_range(:dot)
416
- expect(range).to be_nil
417
- end
418
-
419
409
  it 'checks message' do
420
410
  node = parse('foo.bar(test)')
421
411
  range = node.child_node_range(:message)
@@ -440,6 +430,24 @@ describe Parser::AST::Node do
440
430
  expect(range).to be_nil
441
431
  end
442
432
  end
433
+
434
+ context 'class node' do
435
+ it 'checks name' do
436
+ node = parse('class Post < ActiveRecord::Base; end')
437
+ range = node.child_node_range(:name)
438
+ expect(range.to_range).to eq(6...10)
439
+ end
440
+
441
+ it 'checks parent_class' do
442
+ node = parse('class Post < ActiveRecord::Base; end')
443
+ range = node.child_node_range(:parent_class)
444
+ expect(range.to_range).to eq(13...31)
445
+
446
+ node = parse('class Post; end')
447
+ range = node.child_node_range(:parent_class)
448
+ expect(range).to be_nil
449
+ end
450
+ end
443
451
  end
444
452
 
445
453
  describe '#rewritten_source' do
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.26.0
4
+ version: 0.26.1
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-30 00:00:00.000000000 Z
11
+ date: 2021-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport