bullet_train-super_scaffolding 1.6.15 → 1.6.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bullet_train/super_scaffolding/version.rb +1 -1
- data/lib/scaffolding/routes_file_manipulator.rb +25 -26
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab9f39b31aacb0b95619b04fb4b3a32fef367608f8eb4115588dbaf596711c60
|
4
|
+
data.tar.gz: a1be9b35f77dfc9871e3909c653d59806519fcc08de8b6a9904a1721348b5b99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e8cdceb4b5c68cd44d3425fa499f3f132eb51da96c867dd828c6374f8743e6fc3e1b4ccb78cba391fa8d197fd3bf87bcea87d8209976c1f8d7898dcd69f94af
|
7
|
+
data.tar.gz: '099142a8e33347d3c506c40780a65f376295d92ba58231beea2b63fe3a4da71766d44fe894002ecb55e941ebaef769818b56ca2ad07183f35ac17d052f8a99a3'
|
@@ -35,22 +35,6 @@ class Scaffolding::RoutesFileManipulator
|
|
35
35
|
@common_namespaces
|
36
36
|
end
|
37
37
|
|
38
|
-
# def divergent_namespaces
|
39
|
-
# unless @divergent_namespaces
|
40
|
-
# @divergent_namespaces ||= []
|
41
|
-
# child_parts_copy = child_parts.dup
|
42
|
-
# parent_parts_copy = parent_parts.dup
|
43
|
-
# while child_parts_copy.first == parent_parts_copy.first
|
44
|
-
# child_parts_copy.shift
|
45
|
-
# parent_parts_copy.shift
|
46
|
-
# end
|
47
|
-
# child_parts_copy.pop
|
48
|
-
# parent_parts_copy.pop
|
49
|
-
# @divergent_namespaces = [child_parts_copy, parent_parts_copy]
|
50
|
-
# end
|
51
|
-
# @divergent_namespaces
|
52
|
-
# end
|
53
|
-
|
54
38
|
def divergent_parts
|
55
39
|
unless @divergent_namespaces
|
56
40
|
@divergent_namespaces ||= []
|
@@ -68,19 +52,28 @@ class Scaffolding::RoutesFileManipulator
|
|
68
52
|
end
|
69
53
|
|
70
54
|
def find_namespaces(namespaces, within = nil)
|
71
|
-
namespaces = namespaces.dup
|
72
55
|
results = {}
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
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
|
81
68
|
end
|
82
|
-
return results unless namespaces.any?
|
83
69
|
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
|
+
|
84
77
|
results
|
85
78
|
end
|
86
79
|
|
@@ -434,4 +427,10 @@ class Scaffolding::RoutesFileManipulator
|
|
434
427
|
lines[line_number].gsub!(/resources :(.*)$/, "resources :\\1, concerns: [#{existing_concerns.map { |e| ":#{e}" }.join(", ")}]")
|
435
428
|
end
|
436
429
|
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
|
437
436
|
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.
|
4
|
+
version: 1.6.17
|
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-
|
11
|
+
date: 2023-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: standard
|
@@ -38,20 +38,6 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 6.0.0
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: bullet_train
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: masamune-ast
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|