bullet_train-super_scaffolding 1.0.16 → 1.0.21

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: 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