bullet_train-super_scaffolding 1.6.18 → 1.6.19

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: 71ecc941a9a4ee421299d14d35a6ef5a437214882dc364eb820c64ce8f35da7b
4
- data.tar.gz: 4fbaaa2c7b7adb9a6e2df372e31f4310cacfdbbff72aa0eebba9b5148be33059
3
+ metadata.gz: eafd70da2079b3901c1d863670e76da7058d10eec9aa25158b7b60bfb6599b98
4
+ data.tar.gz: 5ee1b5f7fcadae48a99923d5228408cee0d80ce69990907e5882ba234e71505d
5
5
  SHA512:
6
- metadata.gz: 8f2dfc1a15b9fe1c40553a36675f3969577c614673f0c7191eb7524322b94295806432155df2f25c1926744479df9a69925d6f54852452db8bf602c727d493e5
7
- data.tar.gz: 26cc15d1982e7ee5443794502f21ee55a6a45bf85c6c8a0f2e3913bdc3299586d346d836649cad0d9c9da2c8e2bba1ccb01dbb93b67975bd09cb0f6c3f953e74
6
+ metadata.gz: e38a7f78a0e925e3cc7250a8f16ae583315902347f61d9ea2c36d8db88634e60b500f3702c2c2ce5ae23f6df5d3c20c56fd7e1c15f4ec6b33f1eda4a15503892
7
+ data.tar.gz: 5cb14fe691394c3656e29e604f09ba1f2e80a7de36efdb717abdf01fb5dee610628feb54b73d4f8d2a18aecfde3f095c8c68e44dd4290a6913acfc54f9abe275
@@ -1,5 +1,5 @@
1
1
  module BulletTrain
2
2
  module SuperScaffolding
3
- VERSION = "1.6.18"
3
+ VERSION = "1.6.19"
4
4
  end
5
5
  end
@@ -52,28 +52,19 @@ class Scaffolding::RoutesFileManipulator
52
52
  end
53
53
 
54
54
  def find_namespaces(namespaces, within = nil)
55
+ namespaces = namespaces.dup
55
56
  results = {}
56
- reinstantiate_masamune_object
57
- namespace_nodes = @msmn.method_calls(token_value: "namespace")
58
- namespace_nodes.map do |node|
59
- # Get the first argument (a Symbol) without the colon from the list of arguments.
60
- name = node.arguments.child_nodes.first.unescaped
61
-
62
- # TODO: For some reason we use both strings and symbols for namespaces.
63
- # i.e. - ["account"] and [:v1].
64
- if namespaces.include?(name.to_sym)
65
- results[name.to_sym] = node.line_number - 1
66
- elsif namespaces.include?(name)
67
- results[name] = node.line_number - 1
57
+ block_end = Scaffolding::BlockManipulator.find_block_end(starting_from: within, lines: lines) if within
58
+ lines.each_with_index do |line, line_number|
59
+ if within
60
+ next unless line_number > within
61
+ return results if line_number >= block_end
68
62
  end
63
+ if line.include?("namespace :#{namespaces.first} do")
64
+ results[namespaces.shift] = line_number
65
+ end
66
+ return results unless namespaces.any?
69
67
  end
70
-
71
- # `within` uses an Array index whereas Masamune nodes use the actual line number, so we write `within + 1` here.
72
- if within
73
- block_end = @msmn.method_calls.find { |node| node.line_number == within + 1 }.location.end_line
74
- results.reject! { |name, line_number| line_number >= block_end }
75
- end
76
-
77
68
  results
78
69
  end
79
70
 
@@ -427,10 +418,4 @@ class Scaffolding::RoutesFileManipulator
427
418
  lines[line_number].gsub!(/resources :(.*)$/, "resources :\\1, concerns: [#{existing_concerns.map { |e| ":#{e}" }.join(", ")}]")
428
419
  end
429
420
  end
430
-
431
- # We have to do this because the `lines` object is constantly changing,
432
- # so we reinstantiate this object wherever necessary.
433
- def reinstantiate_masamune_object
434
- @msmn = Masamune::AbstractSyntaxTree.new(lines.join)
435
- end
436
421
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bullet_train-super_scaffolding
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.18
4
+ version: 1.6.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Culver
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-21 00:00:00.000000000 Z
11
+ date: 2023-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: standard