bullet_train-super_scaffolding 1.0.16 → 1.0.21

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: 1c31da16417de5e8bb5b83fe154a3d01d093a540f049f4da7189b6200aa04569
4
- data.tar.gz: 3e1005d7ac00f0beeab6b35af98d06387a5932be24f2bd495523355cde9da7fb
3
+ metadata.gz: 9e30f0c69d9e11ebfad8a9d79f6420a4043d2eb4ca6d45e18bcb352b3040542a
4
+ data.tar.gz: '0832eb0ab26760187545003236fc03b849365f5851de9ffbb4a4d165a52ac184'
5
5
  SHA512:
6
- metadata.gz: 3c55928b85cc3ee60cd3dac9712feffbb05d627019b4928e6ddffb4e4c13e0739d926c20dc4e18f34dbf448efe52e1d795c934daf3f86a6d941ca4f44e744b2d
7
- data.tar.gz: 68352c9af1093311cbab0a7cc7a9cd4e922c407f937005aea3da2608ea1b644e80bc96c517b5c204e1c9de9dc66d01f3b6ea30e8ec72cd5fa9217854515c2224
6
+ metadata.gz: 49cf82540e82861823ac650d6a35a3ae784651d619403a75e07e42019107143f1fc938a11d88e47d018ffb4d1c965caf26b35d33e1f0ba49e948a6ec649a5582
7
+ data.tar.gz: 95f382c94750e927b613554acbdfb21197728575a5b4d9230bdbff2ac0729c428bfe3275dc6ea5194b3187a33ab95ce0a74f6e20852381ce746934a2a7d74167
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2022 Andrew Culver
1
+ Copyright 2022 Bullet Train, Inc.
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -1,2 +1,2 @@
1
- class BulletTrain::SuperScaffolding::CannotFindParentResourceException < Exception
1
+ class BulletTrain::SuperScaffolding::CannotFindParentResourceException < RuntimeError
2
2
  end
@@ -25,11 +25,11 @@ module BulletTrain
25
25
  puts ""
26
26
  puts " 2️⃣ Use `join-model` scaffolding to prepare the join model for use in `crud-field` scaffolding:".blue
27
27
  puts ""
28
- puts " bin/super-scaffold join-model Projects::AppliedTag project_id[class_name=Project] tag_id[class_name=Projects::Tag]"
28
+ puts " bin/super-scaffold join-model Projects::AppliedTag project_id{class_name=Project} tag_id{class_name=Projects::Tag}"
29
29
  puts ""
30
30
  puts " 3️⃣ Now you can use `crud-field` scaffolding to actually add the field to the form of the parent model:".blue
31
31
  puts ""
32
- puts " bin/super-scaffold crud-field Project tag_ids:super_select[class_name=Projects::Tag]"
32
+ puts " bin/super-scaffold crud-field Project tag_ids:super_select{class_name=Projects::Tag}"
33
33
  puts ""
34
34
  puts " 👋 Heads up! There will be one follow-up step output by this command that you need to take action on."
35
35
  puts ""
@@ -38,15 +38,15 @@ module BulletTrain
38
38
  end
39
39
 
40
40
  child = argv[0]
41
- primary_parent = argv[1].split("class_name=").last.split(",").first.split("]").first
42
- secondary_parent = argv[2].split("class_name=").last.split(",").first.split("]").first
41
+ primary_parent = argv[1].split("class_name=").last.split(",").first.split("}").first
42
+ secondary_parent = argv[2].split("class_name=").last.split(",").first.split("}").first
43
43
 
44
44
  # There should only be two attributes.
45
45
  attributes = [argv[1], argv[2]]
46
46
 
47
47
  # Pretend we're doing a `super_select` scaffolding because it will do the correct thing.
48
- attributes = attributes.map { |attribute| attribute.gsub("\[", ":super_select\[") }
49
- attributes = attributes.map { |attribute| attribute.gsub("\]", ",required\]") }
48
+ attributes = attributes.map { |attribute| attribute.gsub("{", ":super_select{") }
49
+ attributes = attributes.map { |attribute| attribute.gsub("}", ",required}") }
50
50
 
51
51
  transformer = Scaffolding::Transformer.new(child, [primary_parent], @options)
52
52
 
@@ -60,14 +60,14 @@ module BulletTrain
60
60
  inverse_has_many_through_transformer = Scaffolding::Transformer.new(primary_parent, [secondary_parent], @options)
61
61
 
62
62
  # However, for the first attribute, we actually don't need the scope validator (and can't really implement it).
63
- attributes[0] = attributes[0].gsub("\]", ",unscoped\]")
63
+ attributes[0] = attributes[0].gsub("}", ",unscoped}")
64
64
 
65
65
  has_many_through_association = has_many_through_transformer.transform_string("completely_concrete_tangible_things")
66
66
  source = transformer.transform_string("absolutely_abstract_creative_concept.valid_$HAS_MANY_THROUGH_ASSOCIATION")
67
67
  source.gsub!("$HAS_MANY_THROUGH_ASSOCIATION", has_many_through_association)
68
68
 
69
69
  # For the second one, we don't want users to have to define the list of valid options in the join model, so we do this:
70
- attributes[1] = attributes[1].gsub("\]", ",source=#{source}\]")
70
+ attributes[1] = attributes[1].gsub("}", ",source=#{source}}")
71
71
 
72
72
  # This model hasn't been crud scaffolded, so a bunch of views are skipped here, but that's OK!
73
73
  # It does what we need on the files that exist.
@@ -1,5 +1,5 @@
1
1
  module BulletTrain
2
2
  module SuperScaffolding
3
- VERSION = "1.0.16"
3
+ VERSION = "1.0.21"
4
4
  end
5
5
  end
@@ -194,13 +194,13 @@ class Scaffolding::RoutesFileManipulator
194
194
  parts = parts.dup
195
195
  resource = parts.pop
196
196
  # TODO this doesn't take into account any options like we do in `find_resource`.
197
- find_in_namespace(/resources :#{resource}#{options[:options] ? ", #{options[:options].gsub(/(\[)(.*)(\])/, '\[\2\]')}" : ""}(,?\s.*)? do(\s.*)?$/, parts, within)
197
+ find_in_namespace(/resources :#{resource}#{options[:options] ? ", #{options[:options].gsub(/({)(.*)(})/, '{\2}')}" : ""}(,?\s.*)? do(\s.*)?$/, parts, within)
198
198
  end
199
199
 
200
200
  def find_resource(parts, options = {})
201
201
  parts = parts.dup
202
202
  resource = parts.pop
203
- needle = /resources :#{resource}#{options[:options] ? ", #{options[:options].gsub(/(\[)(.*)(\])/, '\[\2\]')}" : ""}(,?\s.*)?$/
203
+ needle = /resources :#{resource}#{options[:options] ? ", #{options[:options].gsub(/({)(.*)(})/, '{\2}')}" : ""}(,?\s.*)?$/
204
204
  find_in_namespace(needle, parts, options[:within], options[:ignore])
205
205
  end
206
206
 
@@ -36,7 +36,7 @@ def check_required_options_for_attributes(scaffolding_type, attributes, child, p
36
36
  type = parts.join(":")
37
37
 
38
38
  # extract any options they passed in with the field.
39
- type, attribute_options = type.scan(/^(.*)\[(.*)\]/).first || type
39
+ type, attribute_options = type.scan(/^(.*){(.*)}/).first || type
40
40
 
41
41
  # create a hash of the options.
42
42
  attribute_options = if attribute_options
@@ -276,7 +276,7 @@ class Scaffolding::Transformer
276
276
  begin
277
277
  target_file_content = File.read(transformed_file_name)
278
278
  rescue Errno::ENOENT => _
279
- puts "Couldn't find '#{transformed_file_name}'".red unless (suppress_could_not_find || options[:suppress_could_not_find])
279
+ puts "Couldn't find '#{transformed_file_name}'".red unless suppress_could_not_find || options[:suppress_could_not_find]
280
280
  return false
281
281
  end
282
282
 
@@ -591,7 +591,7 @@ class Scaffolding::Transformer
591
591
 
592
592
  # extract any options they passed in with the field.
593
593
  # will extract options declared with either [] or {}.
594
- type, attribute_options = type.scan(/^(.*)[\[|{](.*)[\]|}]/).first || type
594
+ type, attribute_options = type.scan(/^(.*){(.*)}/).first || type
595
595
 
596
596
  # create a hash of the options.
597
597
  attribute_options = if attribute_options
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.0.16
4
+ version: 1.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Culver
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-10 00:00:00.000000000 Z
11
+ date: 2022-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails