bullet_train-super_scaffolding 1.6.16 → 1.6.18
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71ecc941a9a4ee421299d14d35a6ef5a437214882dc364eb820c64ce8f35da7b
|
4
|
+
data.tar.gz: 4fbaaa2c7b7adb9a6e2df372e31f4310cacfdbbff72aa0eebba9b5148be33059
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f2dfc1a15b9fe1c40553a36675f3969577c614673f0c7191eb7524322b94295806432155df2f25c1926744479df9a69925d6f54852452db8bf602c727d493e5
|
7
|
+
data.tar.gz: 26cc15d1982e7ee5443794502f21ee55a6a45bf85c6c8a0f2e3913bdc3299586d346d836649cad0d9c9da2c8e2bba1ccb01dbb93b67975bd09cb0f6c3f953e74
|
@@ -52,19 +52,28 @@ class Scaffolding::RoutesFileManipulator
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def find_namespaces(namespaces, within = nil)
|
55
|
-
namespaces = namespaces.dup
|
56
55
|
results = {}
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
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
|
65
68
|
end
|
66
|
-
return results unless namespaces.any?
|
67
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
|
+
|
68
77
|
results
|
69
78
|
end
|
70
79
|
|
@@ -418,4 +427,10 @@ class Scaffolding::RoutesFileManipulator
|
|
418
427
|
lines[line_number].gsub!(/resources :(.*)$/, "resources :\\1, concerns: [#{existing_concerns.map { |e| ":#{e}" }.join(", ")}]")
|
419
428
|
end
|
420
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
|
421
436
|
end
|
data/lib/scaffolding/script.rb
CHANGED
@@ -50,16 +50,7 @@ def standard_protip
|
|
50
50
|
puts "If you do that, you can reset to your last commit state by using `git checkout .` and `git clean -d -f` ."
|
51
51
|
end
|
52
52
|
|
53
|
-
def
|
54
|
-
`git status`.split("\n")
|
55
|
-
end
|
56
|
-
|
57
|
-
def has_untracked_files?(status_lines)
|
58
|
-
status_lines.include?("Untracked files:")
|
59
|
-
end
|
60
|
-
|
61
|
-
# All untracked files begin with a tab (i.e. - "\tapp/models/model.rb").
|
62
|
-
def get_untracked_files(status_lines)
|
53
|
+
def get_untracked_files
|
63
54
|
`git ls-files --other --exclude-standard`.split("\n")
|
64
55
|
end
|
65
56
|
|
@@ -198,11 +189,11 @@ def check_required_options_for_attributes(scaffolding_type, attributes, child, p
|
|
198
189
|
puts ""
|
199
190
|
|
200
191
|
unless @options["skip-migration-generation"]
|
201
|
-
untracked_files =
|
192
|
+
untracked_files = get_untracked_files
|
202
193
|
generation_thread = Thread.new { `#{generation_command}` }
|
203
194
|
generation_thread.join # Wait for the process to finish.
|
204
195
|
|
205
|
-
newly_untracked_files =
|
196
|
+
newly_untracked_files = get_untracked_files
|
206
197
|
if (newly_untracked_files - untracked_files).size.zero?
|
207
198
|
error_message = <<~MESSAGE
|
208
199
|
Since you have already created the #{child} model, Super Scaffolding won't allow you to re-create it.
|
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.18
|
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-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: standard
|