bullet_train-super_scaffolding 1.2.10 → 1.2.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/account/scaffolding/completely_concrete/tangible_things_controller.rb +1 -1
- data/lib/bullet_train/super_scaffolding/version.rb +1 -1
- data/lib/scaffolding/block_manipulator.rb +1 -1
- data/lib/scaffolding/file_manipulator.rb +1 -6
- data/lib/scaffolding/oauth_providers.rb +0 -5
- data/lib/scaffolding/routes_file_manipulator.rb +26 -8
- data/lib/scaffolding/transformer.rb +94 -16
- data/lib/scaffolding.rb +1 -0
- metadata +2 -8
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/_creative_concept.json.jbuilder +0 -8
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_collaborator.json.jbuilder +0 -9
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/index.json.jbuilder +0 -1
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/show.json.jbuilder +0 -1
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/index.json.jbuilder +0 -1
- data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/show.json.jbuilder +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a298ab4bf4e4ef34b72728d13025076979ce8a53ed014b12c88103922b724b42
|
4
|
+
data.tar.gz: 673d9792c5134c97faff3625581e39d2250a703ccfab7b21ad28d004f0790350
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26045ef5529ee5792c835ad924bb029782d13338ddfc1b2f40f350595e7d9099a0dca2a5f21f62944eda315c236a73ffda53bf1f67d13f8fbc1b80f23f4f50ba
|
7
|
+
data.tar.gz: b9c3c2e11675220b19e0104fcfc5345dad1f21f6efb3affd90247b335a04d17995b1d4cf8ee0ef6b5ba76e79ec3a088a372c50e910607ae98bbbd69786194eb3
|
@@ -26,7 +26,7 @@ class Account::Scaffolding::CompletelyConcrete::TangibleThingsController < Accou
|
|
26
26
|
def create
|
27
27
|
respond_to do |format|
|
28
28
|
if @tangible_thing.save
|
29
|
-
format.html { redirect_to [:account, @
|
29
|
+
format.html { redirect_to [:account, @tangible_thing], notice: I18n.t("scaffolding/completely_concrete/tangible_things.notifications.created") }
|
30
30
|
format.json { render :show, status: :created, location: [:account, @tangible_thing] }
|
31
31
|
else
|
32
32
|
format.html { render :new, status: :unprocessable_entity }
|
@@ -214,7 +214,7 @@ module Scaffolding
|
|
214
214
|
# If we're shifting a block to the left, we want to safeguard
|
215
215
|
# the String so it doesn't delete any excess characters.
|
216
216
|
if direction == :left
|
217
|
-
amount.times { line = line.gsub(
|
217
|
+
amount.times { line = line.gsub(/^ /, "") }
|
218
218
|
elsif direction == :right
|
219
219
|
line = "\s" * amount + line
|
220
220
|
end
|
@@ -3,7 +3,7 @@ require "scaffolding/block_manipulator"
|
|
3
3
|
# TODO: If we move this and the BlockManipulator into their own gems,
|
4
4
|
# we can probably call these methods with something shorter without `Scaffolding::`.
|
5
5
|
module Scaffolding::FileManipulator
|
6
|
-
def self.find(lines, needle, within =
|
6
|
+
def self.find(lines, needle, within = 0)
|
7
7
|
lines_within(lines, within).each_with_index do |line, line_number|
|
8
8
|
return (within + (within ? 1 : 0) + line_number) if line.match?(needle)
|
9
9
|
end
|
@@ -15,11 +15,6 @@ module Scaffolding::FileManipulator
|
|
15
15
|
lines[(within + 1)..(Scaffolding::BlockManipulator.find_block_end(starting_from: within, lines: lines) + 1)]
|
16
16
|
end
|
17
17
|
|
18
|
-
# TODO I was running into an error in a downstream application where it couldn't find silence_logs? We should implement it in this package.
|
19
|
-
def self.silence_logs?
|
20
|
-
ENV["SILENCE_LOGS"].present?
|
21
|
-
end
|
22
|
-
|
23
18
|
def self.replace_line_in_file(file, content, in_place_of, options = {})
|
24
19
|
begin
|
25
20
|
target_file_content = File.read(file)
|
@@ -10,11 +10,6 @@ def legacy_resolve_template_path(file)
|
|
10
10
|
end.compact.first || raise("Couldn't find the Super Scaffolding template for `#{file}` in any of the following locations:\n\n#{BulletTrain::SuperScaffolding.template_paths.join("\n")}")
|
11
11
|
end
|
12
12
|
|
13
|
-
# TODO I was running into an error in a downstream application where it couldn't find silence_logs? We should implement it in this package.
|
14
|
-
def silence_logs?
|
15
|
-
ENV["SILENCE_LOGS"].present?
|
16
|
-
end
|
17
|
-
|
18
13
|
def legacy_replace_in_file(file, before, after)
|
19
14
|
puts "Replacing in '#{file}'." unless silence_logs?
|
20
15
|
target_file_content = File.read(file)
|
@@ -1,9 +1,10 @@
|
|
1
1
|
require "scaffolding/block_manipulator"
|
2
2
|
|
3
3
|
class Scaffolding::RoutesFileManipulator
|
4
|
-
attr_accessor :child, :parent, :lines, :transformer_options
|
4
|
+
attr_accessor :child, :parent, :lines, :transformer_options, :concerns
|
5
5
|
|
6
6
|
def initialize(filename, child, parent, transformer_options = {})
|
7
|
+
@concerns = []
|
7
8
|
self.child = child
|
8
9
|
self.parent = parent
|
9
10
|
@filename = filename
|
@@ -375,17 +376,34 @@ class Scaffolding::RoutesFileManipulator
|
|
375
376
|
within = find_or_convert_resource_block(parent_resource, options: "except: collection_actions", within: within)
|
376
377
|
end
|
377
378
|
|
378
|
-
|
379
|
+
add_concern(:sortable) if transformer_options["sortable"]
|
380
|
+
find_or_create_resource(child_namespaces + [child_resource], options: formatted_concerns, within: within)
|
379
381
|
|
380
382
|
end
|
381
383
|
end
|
382
384
|
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
385
|
+
def add_concern(concern)
|
386
|
+
@concerns.push(concern)
|
387
|
+
end
|
388
|
+
|
389
|
+
def formatted_concerns
|
390
|
+
return if @concerns.empty?
|
391
|
+
"concerns: #{@concerns}"
|
392
|
+
end
|
387
393
|
|
388
|
-
|
389
|
-
|
394
|
+
# Adds a concern to an existing resource at the given line number. (used by the audit logs gem)
|
395
|
+
def add_concern_at_line(concern, line_number)
|
396
|
+
line = lines[line_number]
|
397
|
+
existing_concerns = line.match(/concerns: \[(.*)\]/).to_a[1].to_s.split(",")
|
398
|
+
existing_concerns.map! { |e| e.tr(":", "").tr("\"", "").squish&.to_sym }
|
399
|
+
existing_concerns.filter! { |e| e.present? }
|
400
|
+
existing_concerns << concern
|
401
|
+
if line.include?("concerns:")
|
402
|
+
lines[line_number].gsub!(/concerns: \[(.*)\]/, "concerns: [#{existing_concerns.map { |e| ":#{e}" }.join(", ")}]")
|
403
|
+
elsif line.ends_with?(" do")
|
404
|
+
lines[line_number].gsub!(/ do$/, " concerns: [#{existing_concerns.map { |e| ":#{e}" }.join(", ")}] do")
|
405
|
+
else
|
406
|
+
lines[line_number].gsub!(/resources :(.*)$/, "resources :\\1, concerns: [#{existing_concerns.map { |e| ":#{e}" }.join(", ")}]")
|
407
|
+
end
|
390
408
|
end
|
391
409
|
end
|
@@ -23,6 +23,16 @@ class Scaffolding::Transformer
|
|
23
23
|
"Team"
|
24
24
|
end
|
25
25
|
|
26
|
+
def top_level_model?
|
27
|
+
parent == "Team" || no_parent?
|
28
|
+
end
|
29
|
+
|
30
|
+
# We write an explicit method here so we know we
|
31
|
+
# aren't handling `parent` in this situation as `nil`.
|
32
|
+
def no_parent?
|
33
|
+
parent == "None"
|
34
|
+
end
|
35
|
+
|
26
36
|
def update_action_models_abstract_class(targets_n)
|
27
37
|
end
|
28
38
|
|
@@ -41,7 +51,9 @@ class Scaffolding::Transformer
|
|
41
51
|
RUBY_NEW_FIELDS_HOOK = "# 🚅 super scaffolding will insert new fields above this line."
|
42
52
|
RUBY_ADDITIONAL_NEW_FIELDS_HOOK = "# 🚅 super scaffolding will also insert new fields above this line."
|
43
53
|
RUBY_EVEN_MORE_NEW_FIELDS_HOOK = "# 🚅 super scaffolding will additionally insert new fields above this line."
|
54
|
+
RUBY_NEW_API_VERSION_HOOK = "# 🚅 super scaffolding will insert new api versions above this line."
|
44
55
|
RUBY_FILES_HOOK = "# 🚅 super scaffolding will insert file-related logic above this line."
|
56
|
+
RUBY_FACTORY_SETUP_HOOK = "# 🚅 super scaffolding will insert factory setup in place of this line."
|
45
57
|
ERB_NEW_FIELDS_HOOK = "<%#{RUBY_NEW_FIELDS_HOOK} %>"
|
46
58
|
CONCERNS_HOOK = "# 🚅 add concerns above."
|
47
59
|
ATTR_ACCESSORS_HOOK = "# 🚅 add attribute accessors above."
|
@@ -251,11 +263,6 @@ class Scaffolding::Transformer
|
|
251
263
|
transformed_file_content.join
|
252
264
|
end
|
253
265
|
|
254
|
-
# TODO I was running into an error in a downstream application where it couldn't find silence_logs? We should implement it in this package.
|
255
|
-
def silence_logs?
|
256
|
-
ENV["SILENCE_LOGS"].present?
|
257
|
-
end
|
258
|
-
|
259
266
|
def scaffold_file(file, overrides: false)
|
260
267
|
transformed_file_content = get_transformed_file_content(file)
|
261
268
|
transformed_file_name = transform_string(file)
|
@@ -290,6 +297,9 @@ class Scaffolding::Transformer
|
|
290
297
|
|
291
298
|
Dir.foreach(resolve_template_path(directory)) do |file|
|
292
299
|
file = "#{directory}/#{file}"
|
300
|
+
|
301
|
+
next if file.match?("/_menu_item.html.erb") && !top_level_model?
|
302
|
+
|
293
303
|
unless File.directory?(resolve_template_path(file))
|
294
304
|
scaffold_file(file)
|
295
305
|
end
|
@@ -305,6 +315,9 @@ class Scaffolding::Transformer
|
|
305
315
|
if override_path
|
306
316
|
Dir.foreach(override_path) do |file|
|
307
317
|
file = "#{directory}_overrides/#{file}"
|
318
|
+
|
319
|
+
next if file.match?("/_menu_item.html.erb") && !top_level_model?
|
320
|
+
|
308
321
|
unless File.directory?(resolve_template_path(file))
|
309
322
|
scaffold_file(file, overrides: true)
|
310
323
|
end
|
@@ -485,9 +498,20 @@ class Scaffolding::Transformer
|
|
485
498
|
def add_ability_line_to_roles_yml(class_names = nil)
|
486
499
|
model_names = class_names || [child]
|
487
500
|
role_file = "./config/models/roles.yml"
|
501
|
+
roles_hash = YAML.load_file(role_file)
|
502
|
+
default_role_placements = [
|
503
|
+
[:default, :models],
|
504
|
+
[:admin, :models]
|
505
|
+
]
|
506
|
+
|
488
507
|
model_names.each do |model_name|
|
489
|
-
|
490
|
-
|
508
|
+
default_role_placements.each do |role_placement|
|
509
|
+
stringified_role_placement = role_placement.map { |placement| placement.to_s }
|
510
|
+
if roles_hash.dig(*stringified_role_placement)[model_name].nil?
|
511
|
+
role_type = (role_placement.first == :admin) ? "manage" : "read"
|
512
|
+
Scaffolding::FileManipulator.add_line_to_yml_file(role_file, "#{model_name}: #{role_type}", role_placement)
|
513
|
+
end
|
514
|
+
end
|
491
515
|
end
|
492
516
|
end
|
493
517
|
|
@@ -571,15 +595,15 @@ class Scaffolding::Transformer
|
|
571
595
|
def add_has_many_association
|
572
596
|
has_many_line = ["has_many :completely_concrete_tangible_things"]
|
573
597
|
|
574
|
-
#
|
575
|
-
|
598
|
+
# Specify the class name if the model is namespaced.
|
599
|
+
if child.match?("::")
|
576
600
|
has_many_line << "class_name: \"Scaffolding::CompletelyConcrete::TangibleThing\""
|
577
601
|
end
|
578
602
|
|
579
603
|
has_many_line << "dependent: :destroy"
|
580
604
|
|
581
|
-
#
|
582
|
-
|
605
|
+
# Specify the foreign key if the parent is namespaced.
|
606
|
+
if parent.match?("::")
|
583
607
|
has_many_line << "foreign_key: :absolutely_abstract_creative_concept_id"
|
584
608
|
|
585
609
|
# And if we need `foreign_key`, we should also specify `inverse_of`.
|
@@ -698,6 +722,8 @@ class Scaffolding::Transformer
|
|
698
722
|
"text"
|
699
723
|
when "text_area"
|
700
724
|
"text"
|
725
|
+
when "number_field"
|
726
|
+
"number"
|
701
727
|
when "file_field"
|
702
728
|
"file"
|
703
729
|
when "password_field"
|
@@ -914,7 +940,8 @@ class Scaffolding::Transformer
|
|
914
940
|
field_content.gsub!(/\s%>/, ", options: { password: true } %>")
|
915
941
|
end
|
916
942
|
|
917
|
-
|
943
|
+
show_page_doesnt_exist = child == "User"
|
944
|
+
scaffold_add_line_to_file("./app/views/account/scaffolding/completely_concrete/tangible_things/show.html.erb", field_content.strip, ERB_NEW_FIELDS_HOOK, prepend: true, suppress_could_not_find: show_page_doesnt_exist)
|
918
945
|
|
919
946
|
end
|
920
947
|
|
@@ -931,6 +958,20 @@ class Scaffolding::Transformer
|
|
931
958
|
scaffold_add_line_to_file("./app/views/account/scaffolding/completely_concrete/tangible_things/_index.html.erb", field_content, "<%# 🚅 super scaffolding will insert new field headers above this line. %>", prepend: true)
|
932
959
|
end
|
933
960
|
|
961
|
+
# If these strings are the same, we get duplicate variable names in the _index.html.erb partial,
|
962
|
+
# so we account for that here. Run the Super Scaffolding test setup script and check the index partial
|
963
|
+
# of models with namespaced parents for reference (i.e. - Objective, Projects::Step).
|
964
|
+
transformed_abstract_str = transform_string("absolutely_abstract_creative_concept")
|
965
|
+
transformed_concept_str = transform_string("creative_concept")
|
966
|
+
transformed_file_name = transform_string("./app/views/account/scaffolding/completely_concrete/tangible_things/_index.html.erb")
|
967
|
+
if (transformed_abstract_str == transformed_concept_str) && File.exist?(transformed_file_name)
|
968
|
+
replace_in_file(
|
969
|
+
transformed_file_name,
|
970
|
+
"#{transformed_abstract_str} = @#{transformed_abstract_str} || @#{transformed_concept_str}",
|
971
|
+
"#{transformed_abstract_str} = @#{transformed_concept_str}"
|
972
|
+
)
|
973
|
+
end
|
974
|
+
|
934
975
|
table_cell_options = []
|
935
976
|
|
936
977
|
if first_table_cell
|
@@ -1393,8 +1434,21 @@ class Scaffolding::Transformer
|
|
1393
1434
|
add_ability_line_to_roles_yml
|
1394
1435
|
end
|
1395
1436
|
|
1437
|
+
# Add factory setup in API controller test.
|
1396
1438
|
unless cli_options["skip-api"]
|
1397
|
-
|
1439
|
+
test_name = transform_string("./test/controllers/api/v1/scaffolding/completely_concrete/tangible_things_controller_test.rb")
|
1440
|
+
test_lines = File.open(test_name).readlines
|
1441
|
+
|
1442
|
+
# Shift contents of controller test after skipping `unless scaffolding_things_disabled?` block.
|
1443
|
+
class_block_index = Scaffolding::FileManipulator.find(test_lines, "class #{transform_string("Api::V1::Scaffolding::CompletelyConcrete::TangibleThingsControllerTest")}")
|
1444
|
+
new_lines = Scaffolding::BlockManipulator.shift_block(lines: test_lines, block_start: test_lines[class_block_index], shift_contents_only: true)
|
1445
|
+
Scaffolding::FileManipulator.write(test_name, new_lines)
|
1446
|
+
|
1447
|
+
# Ensure variables built with factories are indented properly.
|
1448
|
+
factory_hook_index = Scaffolding::FileManipulator.find(new_lines, RUBY_FACTORY_SETUP_HOOK)
|
1449
|
+
factory_hook_indentation = Scaffolding::BlockManipulator.indentation_of(factory_hook_index, new_lines)
|
1450
|
+
indented_factory_lines = build_factory_setup.map { |line| "#{factory_hook_indentation}#{line}\n" }
|
1451
|
+
scaffold_replace_line_in_file(test_name, indented_factory_lines.join, new_lines[factory_hook_index])
|
1398
1452
|
end
|
1399
1453
|
|
1400
1454
|
# add children to the show page of their parent.
|
@@ -1490,7 +1544,7 @@ class Scaffolding::Transformer
|
|
1490
1544
|
collection_actions = [:index, :new, :create]
|
1491
1545
|
|
1492
1546
|
# 🚅 Don't remove this block, it will break Super Scaffolding.
|
1493
|
-
begin
|
1547
|
+
begin
|
1494
1548
|
namespace :#{routes_namespace} do
|
1495
1549
|
shallow do
|
1496
1550
|
resources :teams do
|
@@ -1505,11 +1559,35 @@ class Scaffolding::Transformer
|
|
1505
1559
|
|
1506
1560
|
begin
|
1507
1561
|
routes_manipulator.apply([routes_namespace])
|
1508
|
-
Scaffolding::FileManipulator.write(
|
1562
|
+
Scaffolding::FileManipulator.write(routes_path, routes_manipulator.lines)
|
1509
1563
|
rescue => _
|
1510
1564
|
add_additional_step :red, "We weren't able to automatically add your `#{routes_namespace}` routes for you. In theory this should be very rare, so if you could reach out on Slack, you could probably provide context that will help us fix whatever the problem was. In the meantime, to add the routes manually, we've got a guide at https://blog.bullettrain.co/nested-namespaced-rails-routing-examples/ ."
|
1511
1565
|
end
|
1512
1566
|
|
1567
|
+
# If we're using a custom namespace, we have to make sure the newly
|
1568
|
+
# scaffolded routes are drawn in the `config/routes.rb` and API routes files.
|
1569
|
+
if cli_options["namespace"]
|
1570
|
+
draw_line = "draw \"#{routes_namespace}\""
|
1571
|
+
|
1572
|
+
[
|
1573
|
+
"config/routes.rb",
|
1574
|
+
"config/routes/api/#{BulletTrain::Api.current_version}.rb"
|
1575
|
+
].each do |routes_file|
|
1576
|
+
original_lines = File.readlines(routes_file)
|
1577
|
+
|
1578
|
+
# Define which line we want to place the draw line under in the original routes files.
|
1579
|
+
insert_line = if routes_file.match?("api")
|
1580
|
+
draw_line = " #{draw_line}" # Add necessary indentation.
|
1581
|
+
"namespace :v1 do"
|
1582
|
+
else
|
1583
|
+
"draw \"sidekiq\""
|
1584
|
+
end
|
1585
|
+
|
1586
|
+
new_lines = Scaffolding::BlockManipulator.insert(draw_line, lines: original_lines, within: insert_line)
|
1587
|
+
Scaffolding::FileManipulator.write(routes_file, new_lines)
|
1588
|
+
end
|
1589
|
+
end
|
1590
|
+
|
1513
1591
|
unless cli_options["skip-api"]
|
1514
1592
|
begin
|
1515
1593
|
api_routes_manipulator = Scaffolding::RoutesFileManipulator.new("config/routes/api/#{BulletTrain::Api.current_version}.rb", child, parent, cli_options)
|
@@ -1523,7 +1601,7 @@ class Scaffolding::Transformer
|
|
1523
1601
|
|
1524
1602
|
unless cli_options["skip-parent"]
|
1525
1603
|
|
1526
|
-
if
|
1604
|
+
if top_level_model?
|
1527
1605
|
icon_name = nil
|
1528
1606
|
if cli_options["sidebar"].present?
|
1529
1607
|
icon_name = cli_options["sidebar"]
|
data/lib/scaffolding.rb
CHANGED
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.2.
|
4
|
+
version: 1.2.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Culver
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: standard
|
@@ -101,27 +101,21 @@ files:
|
|
101
101
|
- app/models/scaffolding/completely_concrete/tangible_things/assignment.rb
|
102
102
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/_breadcrumbs.html.erb
|
103
103
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/_creative_concept.html.erb
|
104
|
-
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/_creative_concept.json.jbuilder
|
105
104
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/_form.html.erb
|
106
105
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/_index.html.erb
|
107
106
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/_menu_item.html.erb
|
108
107
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_breadcrumbs.html.erb
|
109
|
-
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_collaborator.json.jbuilder
|
110
108
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_form.html.erb
|
111
109
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_index.html.erb
|
112
110
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/_menu_item.html.erb
|
113
111
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/edit.html.erb
|
114
112
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/index.html.erb
|
115
|
-
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/index.json.jbuilder
|
116
113
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/new.html.erb
|
117
114
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/show.html.erb
|
118
|
-
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/collaborators/show.json.jbuilder
|
119
115
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/edit.html.erb
|
120
116
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/index.html.erb
|
121
|
-
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/index.json.jbuilder
|
122
117
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/new.html.erb
|
123
118
|
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/show.html.erb
|
124
|
-
- app/views/account/scaffolding/absolutely_abstract/creative_concepts/show.json.jbuilder
|
125
119
|
- app/views/account/scaffolding/completely_concrete/tangible_things/_breadcrumbs.html.erb
|
126
120
|
- app/views/account/scaffolding/completely_concrete/tangible_things/_form.html.erb
|
127
121
|
- app/views/account/scaffolding/completely_concrete/tangible_things/_index.html.erb
|
@@ -1,9 +0,0 @@
|
|
1
|
-
json.extract! collaborator,
|
2
|
-
:id,
|
3
|
-
:creative_concept_id,
|
4
|
-
:membership_id,
|
5
|
-
:roles,
|
6
|
-
# 🚅 super scaffolding will insert new fields above this line.
|
7
|
-
:created_at,
|
8
|
-
:updated_at
|
9
|
-
json.url account_scaffolding_absolutely_abstract_creative_concepts_collaborator_url(collaborator, format: :json)
|
@@ -1 +0,0 @@
|
|
1
|
-
json.array! @collaborators, partial: "scaffolding/absolutely_abstract/creative_concepts/collaborators/collaborator", as: :collaborator
|
@@ -1 +0,0 @@
|
|
1
|
-
json.partial! "scaffolding/absolutely_abstract/creative_concepts/collaborators/collaborator", collaborator: @collaborator
|
data/app/views/account/scaffolding/absolutely_abstract/creative_concepts/index.json.jbuilder
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
json.array! @creative_concepts, partial: "scaffolding/absolutely_abstract/creative_concepts/creative_concept", as: :creative_concept
|
@@ -1 +0,0 @@
|
|
1
|
-
json.partial! "scaffolding/absolutely_abstract/creative_concepts/creative_concept", creative_concept: @creative_concept
|