brick 1.0.225 → 1.0.226

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: 7f82da7422196469fc96ed7e6a720404547125622e4a9221b762d2797ddfa1a1
4
- data.tar.gz: 48db61484c3899a2ee44754979eca01442d1c396e2ae10df8c5bb707d45398fa
3
+ metadata.gz: f49b4376a0265094ca854c558df6bc4166a619de70bb8b8306cee5667b3545fa
4
+ data.tar.gz: 2230e3a409329ec8781aa92e976f4dca318727a1620b3814d1f382ef9e33502c
5
5
  SHA512:
6
- metadata.gz: 33e2eb178a7eb4e7c04ea47ee7cb14b732eb43918974ef189f7423615158acae66a6135ba43373cdc30fa6dffff83388e32f3f0610450f6ae46a66dd9e672176
7
- data.tar.gz: e7f04e018e0f21780c2d1a6705a5f39b3a62321d7314fb5b3f0924c77ca11344c5a1928231ac39b32daa858e3411cdee9eb8c09d55992677f46384f2e474cdba
6
+ metadata.gz: bd980b9c153b10d7b9298299553d552c1265b61cbd842fdd4814d6188a27dc101366fff42bf52cfa799f4a6304bb71e5b9505742b3fe606c41eef5309bd6d2e7
7
+ data.tar.gz: b196a9a308e512f1faaea85982c6a738fe7bb00b70ef2d9e7eeff37638b01ca563696d85e1e82216b1358c2999cb9bfaf7e4081f012121c0266ebf8ff2f877d9
@@ -459,7 +459,7 @@ module ActiveRecord
459
459
 
460
460
  # join_array will receive this relation name when calling #brick_parse_dsl
461
461
  _br_bt_descrip[bt.first] = if bt[1].is_a?(Array)
462
- # Last params here: "true" is for yes, we are polymorphic
462
+ # Last param here: "true" is for yes, we are polymorphic
463
463
  bt[1].each_with_object({}) { |bt_class, s| s[bt_class] = bt_class.brick_parse_dsl(join_array, bt.first, translations, true) }
464
464
  else
465
465
  { bt.last => bt[1].brick_parse_dsl(join_array, bt.first, translations) }
@@ -2278,8 +2278,8 @@ class Object
2278
2278
  end
2279
2279
 
2280
2280
  self.protect_from_forgery unless: -> { self.request.format.js? }
2281
- tn_start = (table_name_split = table_name.split('.')).length > 1 ? -2 : -1
2282
- plural_table_name = table_name_split[tn_start..-1].join('_').pluralize
2281
+ tn_start = (pcn_split = plural_class_name.split('::')).length > 1 ? -2 : -1
2282
+ plural_table_name = pcn_split[tn_start..-1].join.underscore.pluralize
2283
2283
  singular_table_name = plural_table_name.singularize
2284
2284
  unless is_avo
2285
2285
  self.define_method :index do
@@ -691,8 +691,8 @@ window.addEventListener(\"popstate\", linkSchemas);
691
691
 
692
692
  if @_brick_model
693
693
  pk = @_brick_model._brick_primary_key(::Brick.relations.fetch((table_name = @_brick_model.table_name.split('.').last), nil))
694
- rn_start = (res_name_split = model_name.split('::')).length > 1 ? -2 : -1
695
- obj_name = res_name_split[rn_start..-1].join('_').singularize
694
+ rn_start = (mn_split = model_name.split('::')).length > 1 ? -2 : -1
695
+ obj_name = mn_split[rn_start..-1].join.underscore.singularize
696
696
  res_name = obj_name.pluralize
697
697
 
698
698
  path_obj_name = @_brick_model._brick_index(:singular)
@@ -94,7 +94,17 @@ module Brick::Rails::FormTags
94
94
  # (After restarting the server it worked fine again.)
95
95
  row_count = 0
96
96
  # if @_brick_join_array&.include?()
97
- enumerator = relation.each # Runs the SQL query
97
+ begin
98
+ enumerator = relation.each # Runs the SQL query
99
+ rescue ActiveRecord::SubclassNotFound => e
100
+ # If there is a missing STI class then keep the show on the road by temporarily modifying the inheritance column.
101
+ inh_col = klass.inheritance_column
102
+ puts "WARNING: At least one row in the \"#{klass.table_name}\" table has an invalid value in the inheritance column \"#{inh_col}\"."
103
+ puts e.message
104
+ klass.inheritance_column = '^\/^' # Some impossible column name
105
+ enumerator = relation.each
106
+ klass.inheritance_column = inh_col
107
+ end
98
108
  # Add proxied info for @_brick_includes
99
109
  # proxy = relation.instance_variable_get(:@proxy) || relation.instance_variable_set(:@proxy, {})
100
110
  bi = relation.instance_variable_get(:@_brick_includes)
@@ -5,7 +5,7 @@ module Brick
5
5
  module VERSION
6
6
  MAJOR = 1
7
7
  MINOR = 0
8
- TINY = 225
8
+ TINY = 226
9
9
 
10
10
  # PRE is nil unless it's a pre-release (beta, RC, etc.)
11
11
  PRE = nil
data/lib/brick.rb CHANGED
@@ -251,7 +251,7 @@ module Brick
251
251
  if (pri_models = (model.respond_to?(poly_types_method = "#{a.name}_types") &&
252
252
  model.send(poly_types_method)
253
253
  ) ||
254
- (rel_poly_bt = relations[model.table_name][:fks].find { |_k, fk| fk[:assoc_name] == a.name.to_s } &&
254
+ ((rel_poly_bt = relations[model.table_name][:fks].find { |_k, fk| fk[:assoc_name] == a.name.to_s }) &&
255
255
  (rel_poly_bt[1][:polymorphic] || rel_poly_bt&.last&.fetch(:inverse_table, [])&.map { |table| table.singularize.camelize })
256
256
  )
257
257
  ).is_a?(Array)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brick
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.225
4
+ version: 1.0.226
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lorin Thwaits
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-08 00:00:00.000000000 Z
11
+ date: 2025-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord