motor-admin 0.1.46 → 0.1.51

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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +129 -9
  4. data/app/controllers/concerns/motor/current_user_method.rb +15 -0
  5. data/app/controllers/motor/api_base_controller.rb +11 -17
  6. data/app/controllers/motor/application_controller.rb +1 -0
  7. data/app/controllers/motor/assets_controller.rb +2 -2
  8. data/app/controllers/motor/icons_controller.rb +1 -1
  9. data/app/controllers/motor/ui_controller.rb +12 -4
  10. data/app/mailers/motor/alerts_mailer.rb +5 -5
  11. data/app/models/motor/alert.rb +1 -0
  12. data/app/models/motor/dashboard.rb +1 -0
  13. data/app/models/motor/form.rb +1 -0
  14. data/app/models/motor/query.rb +1 -0
  15. data/app/models/motor/resource.rb +1 -0
  16. data/app/models/motor/tag.rb +1 -1
  17. data/app/views/motor/alerts_mailer/alert_email.html.erb +1 -1
  18. data/app/views/motor/ui/show.html.erb +1 -1
  19. data/config/routes.rb +8 -9
  20. data/lib/generators/motor/templates/install.rb +74 -65
  21. data/lib/motor.rb +0 -1
  22. data/lib/motor/active_record_utils.rb +13 -1
  23. data/lib/motor/admin.rb +1 -1
  24. data/lib/motor/alerts/persistance.rb +4 -4
  25. data/lib/motor/alerts/scheduled_alerts_cache.rb +2 -1
  26. data/lib/motor/alerts/scheduler.rb +1 -1
  27. data/lib/motor/api_query/apply_scope.rb +1 -1
  28. data/lib/motor/api_query/build_json.rb +6 -6
  29. data/lib/motor/api_query/paginate.rb +1 -0
  30. data/lib/motor/api_query/search.rb +1 -7
  31. data/lib/motor/assets.rb +1 -1
  32. data/lib/motor/build_schema/find_display_column.rb +1 -0
  33. data/lib/motor/build_schema/find_icon.rb +9 -7
  34. data/lib/motor/build_schema/load_from_rails.rb +5 -2
  35. data/lib/motor/configs/build_ui_app_tag.rb +8 -7
  36. data/lib/motor/configs/load_from_cache.rb +19 -14
  37. data/lib/motor/configs/sync_from_hash.rb +1 -1
  38. data/lib/motor/configs/sync_with_remote.rb +1 -1
  39. data/lib/motor/configs/write_to_file.rb +1 -0
  40. data/lib/motor/dashboards/persistance.rb +4 -4
  41. data/lib/motor/forms/persistance.rb +4 -4
  42. data/lib/motor/queries/persistance.rb +4 -4
  43. data/lib/motor/queries/run_query.rb +3 -3
  44. data/lib/motor/tags.rb +2 -2
  45. data/lib/motor/tasks/motor.rake +4 -0
  46. data/lib/motor/version.rb +1 -1
  47. data/ui/dist/{main-c0cfd92d021794d8cf13.css.gz → main-36a9ee6a9b0427a77d87.css.gz} +0 -0
  48. data/ui/dist/main-36a9ee6a9b0427a77d87.js.gz +0 -0
  49. data/ui/dist/manifest.json +5 -5
  50. metadata +5 -4
  51. data/ui/dist/main-c0cfd92d021794d8cf13.js.gz +0 -0
@@ -16,7 +16,7 @@ module Motor
16
16
  end
17
17
 
18
18
  def create_from_params!(params, current_user = nil)
19
- raise NameAlreadyExists if Query.exists?(['lower(name) = ?', params[:name].to_s.downcase])
19
+ raise NameAlreadyExists if Query.exists?(name: params[:name])
20
20
 
21
21
  query = build_from_params(params, current_user)
22
22
 
@@ -57,15 +57,15 @@ module Motor
57
57
  end
58
58
 
59
59
  def archive_with_existing_name(query)
60
- Motor::Query.where(['lower(name) = ? AND id != ?', query.name.to_s.downcase, query.id])
60
+ Motor::Query.where(['name = ? AND id != ?', query.name, query.id])
61
61
  .update_all(deleted_at: Time.current)
62
62
  end
63
63
 
64
64
  def name_already_exists?(query)
65
65
  if query.new_record?
66
- Query.exists?(['lower(name) = ?', query.name.to_s.downcase])
66
+ Query.exists?(name: query.name)
67
67
  else
68
- Query.exists?(['lower(name) = ? AND id != ?', query.name.to_s.downcase, query.id])
68
+ Query.exists?(['name = ? AND id != ?', query.name, query.id])
69
69
  end
70
70
  end
71
71
  end
@@ -35,8 +35,8 @@ module Motor
35
35
 
36
36
  ActiveRecord::Base.transaction do
37
37
  result =
38
- case ActiveRecord::Base.connection
39
- when ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
38
+ case ActiveRecord::Base.connection.class.name
39
+ when 'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter'
40
40
  PostgresqlExecQuery.call(ActiveRecord::Base.connection, statement)
41
41
  else
42
42
  ActiveRecord::Base.connection.exec_query(*statement)
@@ -73,7 +73,7 @@ module Motor
73
73
 
74
74
  attributes = build_statement_attributes(query_variables)
75
75
 
76
- [format(WITH_STATEMENT_TEMPLATE, sql_body: sql.strip.gsub(/;\z/, ''), limit: limit), 'SQL', attributes]
76
+ [format(WITH_STATEMENT_TEMPLATE, sql_body: sql.strip.delete_suffix(';'), limit: limit), 'SQL', attributes]
77
77
  end
78
78
 
79
79
  # @param variables [Array<(String, Object)>]
data/lib/motor/tags.rb CHANGED
@@ -8,9 +8,9 @@ module Motor
8
8
  return taggable unless tags
9
9
 
10
10
  tags.each do |tag_name|
11
- next if taggable.taggable_tags.find { |tt| tt.tag.name.downcase == tag_name.downcase }
11
+ next if taggable.taggable_tags.find { |tt| tt.tag.name.casecmp(tag_name).zero? }
12
12
 
13
- tag = Tag.where('lower(name) = ?', tag_name.downcase).take || Tag.new(name: tag_name)
13
+ tag = Tag.find_or_initialize_by(name: tag_name)
14
14
 
15
15
  taggable.taggable_tags.new(tag: tag)
16
16
  end
@@ -3,6 +3,10 @@
3
3
  namespace :motor do
4
4
  desc 'Update configs/motor.yml file'
5
5
 
6
+ task install: :environment do
7
+ Rails::Generators.invoke('motor:install')
8
+ end
9
+
6
10
  task dump: :environment do
7
11
  Motor::Configs::WriteToFile.write_with_lock
8
12
 
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.46'
4
+ VERSION = '0.1.51'
5
5
  end
@@ -2068,11 +2068,11 @@
2068
2068
  "mail-opened.svg": "icons/mail-opened.svg",
2069
2069
  "mail.svg": "icons/mail.svg",
2070
2070
  "mailbox.svg": "icons/mailbox.svg",
2071
- "main-c0cfd92d021794d8cf13.css.gz": "main-c0cfd92d021794d8cf13.css.gz",
2072
- "main-c0cfd92d021794d8cf13.js.LICENSE.txt": "main-c0cfd92d021794d8cf13.js.LICENSE.txt",
2073
- "main-c0cfd92d021794d8cf13.js.gz": "main-c0cfd92d021794d8cf13.js.gz",
2074
- "main.css": "main-c0cfd92d021794d8cf13.css",
2075
- "main.js": "main-c0cfd92d021794d8cf13.js",
2071
+ "main-36a9ee6a9b0427a77d87.css.gz": "main-36a9ee6a9b0427a77d87.css.gz",
2072
+ "main-36a9ee6a9b0427a77d87.js.LICENSE.txt": "main-36a9ee6a9b0427a77d87.js.LICENSE.txt",
2073
+ "main-36a9ee6a9b0427a77d87.js.gz": "main-36a9ee6a9b0427a77d87.js.gz",
2074
+ "main.css": "main-36a9ee6a9b0427a77d87.css",
2075
+ "main.js": "main-36a9ee6a9b0427a77d87.js",
2076
2076
  "man.svg": "icons/man.svg",
2077
2077
  "manual-gearbox.svg": "icons/manual-gearbox.svg",
2078
2078
  "map-2.svg": "icons/map-2.svg",
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.46
4
+ version: 0.1.51
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-05-22 00:00:00.000000000 Z
11
+ date: 2021-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord-filter
@@ -118,6 +118,7 @@ files:
118
118
  - LICENSE
119
119
  - README.md
120
120
  - Rakefile
121
+ - app/controllers/concerns/motor/current_user_method.rb
121
122
  - app/controllers/concerns/motor/load_and_authorize_dynamic_resource.rb
122
123
  - app/controllers/concerns/motor/wrap_io_params.rb
123
124
  - app/controllers/motor/active_storage_attachments_controller.rb
@@ -1480,8 +1481,8 @@ files:
1480
1481
  - ui/dist/icons/zoom-money.svg.gz
1481
1482
  - ui/dist/icons/zoom-out.svg.gz
1482
1483
  - ui/dist/icons/zoom-question.svg.gz
1483
- - ui/dist/main-c0cfd92d021794d8cf13.css.gz
1484
- - ui/dist/main-c0cfd92d021794d8cf13.js.gz
1484
+ - ui/dist/main-36a9ee6a9b0427a77d87.css.gz
1485
+ - ui/dist/main-36a9ee6a9b0427a77d87.js.gz
1485
1486
  - ui/dist/manifest.json
1486
1487
  homepage:
1487
1488
  licenses: