motor-admin 0.2.26 → 0.2.27
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/motor/build_schema/load_from_rails.rb +8 -1
- data/lib/motor/resources/fetch_configured_model.rb +18 -10
- data/lib/motor/version.rb +1 -1
- 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: acd8302f343dd0ce3ccad39dd408dc90e7582fb63133cf0abfb3fa1112899cb8
|
4
|
+
data.tar.gz: 21dc6ca6b743b0499e8bf3b314465be503cfcc6ce789bd2653f8e278e72b38dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c277ba2eee535baf91c0959d42187e76b0aff57cb24129c1d79917fca6259c2ed2a0b5f59b9fe289dbad1877fc17d7ea3bde2678cf686b5f98ecf558fbe0b0e6
|
7
|
+
data.tar.gz: 3ff35c6aa910c27771f108dd9a6fbedb73efd57f5a16890ef8589fcce4d733f41b584a1a4f6e79faa9554e964e17eb2aa1ff1bc38655ed9c5acb2f9a3520e6ef
|
@@ -116,13 +116,20 @@ module Motor
|
|
116
116
|
end
|
117
117
|
|
118
118
|
def build_table_column(column, model, default_attrs)
|
119
|
+
access_type =
|
120
|
+
if model.primary_key == column.name
|
121
|
+
ColumnAccessTypes::READ_ONLY
|
122
|
+
else
|
123
|
+
COLUMN_NAME_ACCESS_TYPES.fetch(column.name, ColumnAccessTypes::READ_WRITE)
|
124
|
+
end
|
125
|
+
|
119
126
|
{
|
120
127
|
name: column.name,
|
121
128
|
display_name: Utils.humanize_column_name(model.human_attribute_name(column.name)),
|
122
129
|
column_type: fetch_column_type(column, model),
|
123
130
|
column_source: ColumnSources::TABLE,
|
124
131
|
is_array: column.array?,
|
125
|
-
access_type:
|
132
|
+
access_type: access_type,
|
126
133
|
default_value: default_attrs[column.name],
|
127
134
|
validators: fetch_validators(model, column.name),
|
128
135
|
reference: nil,
|
@@ -5,6 +5,8 @@ module Motor
|
|
5
5
|
module FetchConfiguredModel
|
6
6
|
CACHE_HASH = HashWithIndifferentAccess.new
|
7
7
|
|
8
|
+
HAS_AND_BELONGS_TO_MANY_JOIN_MODEL_PREFIX = 'HABTM_'
|
9
|
+
|
8
10
|
module_function
|
9
11
|
|
10
12
|
def call(model, cache_key:)
|
@@ -130,13 +132,8 @@ module Motor
|
|
130
132
|
end
|
131
133
|
|
132
134
|
def configure_reflection_classes(klass, cache_key)
|
133
|
-
klass.
|
134
|
-
|
135
|
-
next unless ref.klass
|
136
|
-
next if ref.klass.anonymous?
|
137
|
-
rescue StandardError
|
138
|
-
next
|
139
|
-
end
|
135
|
+
klass._reflections.each do |key, ref|
|
136
|
+
next unless configure_reflection_class?(ref)
|
140
137
|
|
141
138
|
ref_dup = ref.dup
|
142
139
|
|
@@ -146,11 +143,9 @@ module Motor
|
|
146
143
|
ref_dup.instance_variable_set(:@klass, call(ref.klass, cache_key: cache_key))
|
147
144
|
end
|
148
145
|
|
149
|
-
klass.
|
146
|
+
klass._reflections[key] = ref_dup
|
150
147
|
end
|
151
148
|
|
152
|
-
klass._reflections = klass.reflections
|
153
|
-
|
154
149
|
klass
|
155
150
|
end
|
156
151
|
|
@@ -203,6 +198,19 @@ module Motor
|
|
203
198
|
end
|
204
199
|
end
|
205
200
|
|
201
|
+
def configure_reflection_class?(ref)
|
202
|
+
begin
|
203
|
+
return false unless ref.klass
|
204
|
+
rescue StandardError
|
205
|
+
return false
|
206
|
+
end
|
207
|
+
|
208
|
+
return false if ref.klass.anonymous?
|
209
|
+
return false if ref.klass.name.demodulize.starts_with?(HAS_AND_BELONGS_TO_MANY_JOIN_MODEL_PREFIX)
|
210
|
+
|
211
|
+
true
|
212
|
+
end
|
213
|
+
|
206
214
|
def sti_model?(model)
|
207
215
|
!model.superclass.abstract_class && model.columns_hash[model.inheritance_column.to_s]
|
208
216
|
end
|
data/lib/motor/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motor-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.27
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pete Matsyburka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord-filter
|