motor-admin 0.1.14 → 0.1.20

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: 690872e084d43d0b2759f48a2d33b7399470b6dec88678248982daf0b0ca2e8a
4
- data.tar.gz: 3949cd11e7773c19dd03c77dd1b52477ed282e3e40e9e688bf9018e7c93c2b13
3
+ metadata.gz: d952208606d9f6e899a942bf6521fa2e4280b699ebe5b33d0e8639f22d6b4cbc
4
+ data.tar.gz: ad3699eca7039750c3a3c9563ecc7795893aa32e8673c0060a2ecf2fe9f56b88
5
5
  SHA512:
6
- metadata.gz: 244c24b44ab251e6a71fe9e4200062b8d6c3679effb03c902759f3ef389d87cf87f8cf7fcf5c48c15a0c4358fc0ee750964b03c17eccd2f3af7cba19a0282ba8
7
- data.tar.gz: 9225e1067d918fccd2dbef1c661e5128299579bd05fe4b52738bcb1ca2cc90c7495cbd07a556661000654ff0e4f6fd3e76d8049d44e3748f759e39566f89ffeb
6
+ metadata.gz: 2c3a8d7d355771f8c83edd3048f7417c9bf8459f0ef5900e7a09532b0c9e214bc2f94dbebd58930b939e5d1e28259b8e2e853d369bd24a3727a27d0f30038166
7
+ data.tar.gz: a14340525096bbe45e9ac32e8f5deafe8ae5b0ed9541b7eb837930853fe2bacdfd1307e63ca9fa811dce3fa67136ddcc55a2191f46d6f2742cb219e004f6944b
@@ -49,27 +49,27 @@ module Motor
49
49
 
50
50
  params[:fields].each do |key, fields|
51
51
  fields = fields.split(',') if fields.is_a?(String)
52
- reflection_class = model.reflections[key]&.klass
53
- fields_hash = build_fields_hash(reflection_class || model, fields)
54
52
 
55
53
  if key == model_name || model_name.split('/').last == key
56
- json_params.merge!(fields_hash)
54
+ json_params.merge!(build_fields_hash(model, fields))
57
55
  else
58
56
  hash = find_key_in_params(json_params, key)
59
57
 
58
+ fields_hash = build_fields_hash(model.reflections[key]&.klass, fields)
59
+
60
60
  hash.merge!(fields_hash)
61
61
  end
62
62
  end
63
63
  end
64
64
 
65
65
  def build_fields_hash(model, fields)
66
- columns = model.columns.map(&:name)
66
+ columns = model ? model.columns.map(&:name) : []
67
67
  fields_hash = { 'only' => [], 'methods' => [] }
68
68
 
69
69
  fields.each_with_object(fields_hash) do |field, acc|
70
70
  if field.in?(columns)
71
71
  acc['only'] << field
72
- elsif model.instance_methods.include?(field.to_sym)
72
+ elsif model.nil? || model.instance_methods.include?(field.to_sym)
73
73
  acc['methods'] << field
74
74
  end
75
75
  end
@@ -97,19 +97,6 @@ module Motor
97
97
  reference_columns + table_columns
98
98
  end
99
99
 
100
- def build_column(model, column)
101
- {
102
- name: column.name,
103
- display_name: column.name.humanize,
104
- column_type: ActiveRecordUtils::Types::UNIFIED_TYPES[column.type.to_s] || column.type.to_s,
105
- access_type: COLUMN_NAME_ACCESS_TYPES.fetch(column.name, ColumnAccessTypes::READ_WRITE),
106
- default_value: default_attrs[column.name],
107
- validators: fetch_validators(model, column.name),
108
- reference: fetch_reference(model, column.name),
109
- virtual: false
110
- }
111
- end
112
-
113
100
  def fetch_reference_columns(model)
114
101
  default_attrs = model.new.attributes
115
102
 
@@ -122,7 +109,7 @@ module Motor
122
109
  next
123
110
  end
124
111
 
125
- column_name = ref.belongs_to? ? ref.foreign_key : name
112
+ column_name = ref.belongs_to? ? ref.foreign_key.to_s : name
126
113
 
127
114
  next if ref.klass.name == 'ActiveStorage::Blob'
128
115
 
@@ -51,7 +51,7 @@ module Motor
51
51
  if order.present?
52
52
  order.index(item[:name]) || Float::MAX
53
53
  else
54
- item[:display_name]
54
+ item[:display_name].to_s
55
55
  end
56
56
  end
57
57
  end
data/lib/motor/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Motor
4
- VERSION = '0.1.14'
4
+ VERSION = '0.1.20'
5
5
  end
@@ -5,9 +5,9 @@
5
5
  "fonts/ionicons.ttf?v=3.0.0-alpha.3": "fonts/ionicons.ttf",
6
6
  "fonts/ionicons.woff2?v=3.0.0-alpha.3": "fonts/ionicons.woff2",
7
7
  "fonts/ionicons.woff?v=3.0.0-alpha.3": "fonts/ionicons.woff",
8
- "main-f7c7f445c53544d2d7b8.css.gz": "main-f7c7f445c53544d2d7b8.css.gz",
9
- "main-f7c7f445c53544d2d7b8.js.LICENSE.txt": "main-f7c7f445c53544d2d7b8.js.LICENSE.txt",
10
- "main-f7c7f445c53544d2d7b8.js.gz": "main-f7c7f445c53544d2d7b8.js.gz",
11
- "main.css": "main-f7c7f445c53544d2d7b8.css",
12
- "main.js": "main-f7c7f445c53544d2d7b8.js"
8
+ "main-6c3f6ebef4c238d9efa7.css.gz": "main-6c3f6ebef4c238d9efa7.css.gz",
9
+ "main-6c3f6ebef4c238d9efa7.js.LICENSE.txt": "main-6c3f6ebef4c238d9efa7.js.LICENSE.txt",
10
+ "main-6c3f6ebef4c238d9efa7.js.gz": "main-6c3f6ebef4c238d9efa7.js.gz",
11
+ "main.css": "main-6c3f6ebef4c238d9efa7.css",
12
+ "main.js": "main-6c3f6ebef4c238d9efa7.js"
13
13
  }
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.1.14
4
+ version: 0.1.20
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-04-30 00:00:00.000000000 Z
11
+ date: 2021-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord-filter
@@ -213,8 +213,8 @@ files:
213
213
  - lib/motor/ui_configs.rb
214
214
  - lib/motor/version.rb
215
215
  - ui/dist/fonts/ionicons.woff2
216
- - ui/dist/main-f7c7f445c53544d2d7b8.css.gz
217
- - ui/dist/main-f7c7f445c53544d2d7b8.js.gz
216
+ - ui/dist/main-6c3f6ebef4c238d9efa7.css.gz
217
+ - ui/dist/main-6c3f6ebef4c238d9efa7.js.gz
218
218
  - ui/dist/manifest.json
219
219
  homepage:
220
220
  licenses: