brick 1.0.179 → 1.0.181
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 +4 -4
- data/lib/brick/compatibility.rb +19 -3
- data/lib/brick/extensions.rb +1 -1
- data/lib/brick/frameworks/rails/engine.rb +12 -10
- data/lib/brick/frameworks/rails/form_tags.rb +2 -2
- data/lib/brick/version_number.rb +1 -1
- data/lib/brick.rb +10 -8
- data/lib/generators/brick/install_generator.rb +1 -0
- data/lib/generators/brick/migrations_generator.rb +1 -0
- data/lib/generators/brick/models_generator.rb +1 -0
- data/lib/generators/brick/seeds_generator.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 322ed139c5ec7c48572ab2ea87830998fe742c32ac56e91d2eed97084f7d8c42
|
|
4
|
+
data.tar.gz: 836c21610811fb2322bdfd572d2b1ccce0a23464bf54512ae160149a6bfdb972
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 034b252fc08bc09216a33d8cd34a97c4afa81a86943d319e0bccd26a387060d69a3d1e0b80de2ba29e9f57c06e7eff3b41cbdfa92354f8a754e350b0ab8daacf
|
|
7
|
+
data.tar.gz: 0ba1422cb56af76c4e0eb89de5fd940a90dcfb93fd90016852cb9631d71542825dea0187fd44ac66fa65a79905583b9dec92b3615b67db1f16d4ad5e5357f1ac
|
data/lib/brick/compatibility.rb
CHANGED
|
@@ -115,14 +115,30 @@ if Object.const_defined?('ActionPack') && !ActionPack.respond_to?(:version)
|
|
|
115
115
|
end
|
|
116
116
|
end
|
|
117
117
|
end
|
|
118
|
-
if Bundler.locked_gems&.dependencies.key?('action_view')
|
|
118
|
+
if Object.const_defined?('Bundler') && Bundler.locked_gems&.dependencies.key?('action_view')
|
|
119
119
|
require 'action_view' # Needed for Rails <= 4.0
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
module ::ActionView
|
|
121
|
+
if Object.const_defined?('ActionView') && !ActionView.respond_to?(:version)
|
|
122
122
|
def self.version
|
|
123
123
|
ActionPack.version
|
|
124
124
|
end
|
|
125
125
|
end
|
|
126
|
+
if self.version < ::Gem::Version.new('5.2')
|
|
127
|
+
module Helpers
|
|
128
|
+
module TextHelper
|
|
129
|
+
# Older versions of #pluralize lack the all-important .to_s
|
|
130
|
+
def pluralize(count, singular, plural_arg = nil, plural: plural_arg, locale: I18n.locale)
|
|
131
|
+
word = if (count == 1 || count.to_s =~ /^1(\.0+)?$/)
|
|
132
|
+
singular
|
|
133
|
+
else
|
|
134
|
+
plural || singular.pluralize(locale)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
"#{count || 0} #{word}"
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
126
142
|
end
|
|
127
143
|
end
|
|
128
144
|
|
data/lib/brick/extensions.rb
CHANGED
|
@@ -1189,7 +1189,7 @@ if Object.const_defined?('ActionView')
|
|
|
1189
1189
|
# not let Brick have any fun. So just call this right before any wildcard routes, and
|
|
1190
1190
|
# you'll be in business!
|
|
1191
1191
|
def mount_brick_routes
|
|
1192
|
-
add_brick_routes
|
|
1192
|
+
add_brick_routes if !::Brick.routes_done && respond_to?(:add_brick_routes)
|
|
1193
1193
|
end
|
|
1194
1194
|
end
|
|
1195
1195
|
end
|
|
@@ -1404,12 +1404,6 @@ end
|
|
|
1404
1404
|
#{erd_markup}
|
|
1405
1405
|
|
|
1406
1406
|
<%= # Consider getting the name from the association -- hm.first.name -- if a more \"friendly\" alias should be used for a screwy table name
|
|
1407
|
-
cols = {#{hms_keys = []
|
|
1408
|
-
hms_headers.map do |hm|
|
|
1409
|
-
hms_keys << (assoc_name = (assoc = hm.first).name.to_s)
|
|
1410
|
-
"#{assoc_name.inspect} => [#{(assoc.options[:through] && !assoc.through_reflection).inspect}, #{assoc.klass.name}, #{hm[1].inspect}, #{hm[2].inspect}]"
|
|
1411
|
-
end.join(', ')}}
|
|
1412
|
-
|
|
1413
1407
|
# If the resource is missing, has the user simply created an inappropriately pluralised name for a table?
|
|
1414
1408
|
@#{table_name} ||= if (dym_list = instance_variables.reject do |entry|
|
|
1415
1409
|
entry.to_s.start_with?('@_') ||
|
|
@@ -1429,6 +1423,13 @@ end
|
|
|
1429
1423
|
end
|
|
1430
1424
|
end
|
|
1431
1425
|
|
|
1426
|
+
# Starts as being just has_many columns, and will be augmented later with all the other columns
|
|
1427
|
+
cols = {#{hms_keys = []
|
|
1428
|
+
hms_headers.map do |hm|
|
|
1429
|
+
hms_keys << (assoc_name = (assoc = hm.first).name.to_s)
|
|
1430
|
+
"#{assoc_name.inspect} => [#{(assoc.options[:through] && !assoc.through_reflection).inspect}, #{assoc.klass.name}, #{hm[1].inspect}, #{hm[2].inspect}]"
|
|
1431
|
+
end.join(', ')}}
|
|
1432
|
+
|
|
1432
1433
|
# %%% Why in the Canvas LMS app does ActionView::Helpers get cleared / reloaded, or otherwise lose access to #brick_grid ???
|
|
1433
1434
|
# Possible fix if somewhere we can implement the #include with:
|
|
1434
1435
|
# (ActiveSupport.const_defined?('Reloader') ? ActiveSupport : ActionDispatch)::Reloader.to_prepare do ... end
|
|
@@ -1436,8 +1437,8 @@ end
|
|
|
1436
1437
|
# Rails.application.reloader.to_prepare do ... end
|
|
1437
1438
|
self.class.class_exec { include ::Brick::Rails::FormTags } unless respond_to?(:brick_grid)
|
|
1438
1439
|
# Write out the mega-grid
|
|
1439
|
-
brick_grid(@#{table_name}, @
|
|
1440
|
-
cols, poly_cols, bts, #{hms_keys.inspect}, {#{hms_columns.join(', ')}}) %>
|
|
1440
|
+
brick_grid(@#{table_name}, @_brick_sequence, @_brick_incl, @_brick_excl,
|
|
1441
|
+
cols, bt_descrip: @_brick_bt_descrip, poly_cols: poly_cols, bts: bts, hms_keys: #{hms_keys.inspect}, hms_cols: {#{hms_columns.join(', ')}}) %>
|
|
1441
1442
|
|
|
1442
1443
|
#{"<hr><%= link_to(\"New #{new_path_name = "new_#{path_obj_name}_path"
|
|
1443
1444
|
obj_name}\", #{new_path_name}, { class: '__brick' }) if respond_to?(:#{new_path_name}) %>" unless @_brick_model.is_view?}
|
|
@@ -1803,7 +1804,7 @@ flatpickr(\".timepicker\", {enableTime: true, noCalendar: true});
|
|
|
1803
1804
|
gErd.addEventListener(\"click\",
|
|
1804
1805
|
function (evt) {
|
|
1805
1806
|
location.href = changeout(changeout(
|
|
1806
|
-
changeout(location.href,
|
|
1807
|
+
changeout(location.href, \"_brick_order\", null), // Remove any ordering
|
|
1807
1808
|
-1, cbs[this.id].replace(/^[\/]+/, \"\")), \"_brick_erd\", \"1\");
|
|
1808
1809
|
}
|
|
1809
1810
|
);
|
|
@@ -1811,6 +1812,7 @@ flatpickr(\".timepicker\", {enableTime: true, noCalendar: true});
|
|
|
1811
1812
|
}}
|
|
1812
1813
|
});
|
|
1813
1814
|
mermaid.contentLoaded();
|
|
1815
|
+
window.history.replaceState({}, \"\", changeout(location.href, \"_brick_erd\", \"1\"));
|
|
1814
1816
|
// Add <span> at the end
|
|
1815
1817
|
var span = document.createElement(\"SPAN\");
|
|
1816
1818
|
span.className = \"exclude\";
|
|
@@ -1819,7 +1821,7 @@ flatpickr(\".timepicker\", {enableTime: true, noCalendar: true});
|
|
|
1819
1821
|
e.stopPropagation();
|
|
1820
1822
|
imgErd.style.display = \"table-cell\";
|
|
1821
1823
|
mermaidErd.style.display = \"none\";
|
|
1822
|
-
window.history.
|
|
1824
|
+
window.history.replaceState({}, \"\", changeout(location.href, \"_brick_erd\", null));
|
|
1823
1825
|
});
|
|
1824
1826
|
mermaidErd.appendChild(span);
|
|
1825
1827
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module Brick::Rails::FormTags
|
|
2
2
|
# Our super speedy grid
|
|
3
|
-
def brick_grid(relation = nil,
|
|
4
|
-
cols = {}, poly_cols
|
|
3
|
+
def brick_grid(relation = nil, sequence = nil, inclusions = nil, exclusions = nil,
|
|
4
|
+
cols = {}, bt_descrip: nil, poly_cols: nil, bts: {}, hms_keys: [], hms_cols: {},
|
|
5
5
|
show_header: nil, show_row_count: nil, show_erd_button: nil, show_new_button: nil, show_avo_button: nil, show_aa_button: nil)
|
|
6
6
|
# When a relation is not provided, first see if one exists which matches the controller name
|
|
7
7
|
unless (relation ||= instance_variable_get("@#{controller_name}".to_sym))
|
data/lib/brick/version_number.rb
CHANGED
data/lib/brick.rb
CHANGED
|
@@ -910,7 +910,7 @@ In config/initializers/brick.rb appropriate entries would look something like:
|
|
|
910
910
|
|
|
911
911
|
object_name = k.split('.').last # Take off any first schema part
|
|
912
912
|
|
|
913
|
-
full_schema_prefix = if (aps = v.fetch(:auto_prefixed_schema, nil))
|
|
913
|
+
full_schema_prefix = if (full_aps = aps = v.fetch(:auto_prefixed_schema, nil))
|
|
914
914
|
aps = aps[0..-2] if aps[-1] == '_'
|
|
915
915
|
(schema_prefix&.dup || +'') << "#{aps}."
|
|
916
916
|
else
|
|
@@ -925,7 +925,7 @@ In config/initializers/brick.rb appropriate entries would look something like:
|
|
|
925
925
|
else
|
|
926
926
|
table_class_length = class_name.length if class_name.length > table_class_length
|
|
927
927
|
tables
|
|
928
|
-
end << [class_name, aps, k.tr('.', '/')]
|
|
928
|
+
end << [class_name, aps, k.tr('.', '/')[full_aps&.length || 0 .. -1]]
|
|
929
929
|
end
|
|
930
930
|
|
|
931
931
|
options = {}
|
|
@@ -1544,7 +1544,7 @@ ActiveSupport.on_load(:active_record) do
|
|
|
1544
1544
|
else
|
|
1545
1545
|
{}
|
|
1546
1546
|
end
|
|
1547
|
-
_original_initialize(klass, **kwargs)
|
|
1547
|
+
_original_initialize(klass, *args, **kwargs)
|
|
1548
1548
|
end
|
|
1549
1549
|
end
|
|
1550
1550
|
end
|
|
@@ -2036,11 +2036,13 @@ if ActiveRecord.version < ::Gem::Version.new('6.0') && ruby_version >= ::Gem::Ve
|
|
|
2036
2036
|
end
|
|
2037
2037
|
|
|
2038
2038
|
# AR >= 5.0 on Ruby >= 3.0
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2039
|
+
if ActiveRecord.version >= ::Gem::Version.new('5.0')
|
|
2040
|
+
::ActiveRecord::Type::AdapterSpecificRegistry.class_exec do
|
|
2041
|
+
alias :_brick_add_modifier :add_modifier
|
|
2042
|
+
def add_modifier(*args, **kwargs)
|
|
2043
|
+
kwargs.merge!(args.pop) if args.length > 2 && args.last.is_a?(Hash)
|
|
2044
|
+
_brick_add_modifier(*args, **kwargs)
|
|
2045
|
+
end
|
|
2044
2046
|
end
|
|
2045
2047
|
end
|
|
2046
2048
|
|
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.
|
|
4
|
+
version: 1.0.181
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lorin Thwaits
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-10-
|
|
11
|
+
date: 2023-10-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activerecord
|