synvert-core 0.26.0 → 0.26.1

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