simpleadmin 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,9 +0,0 @@
1
- module SimpleAdmin
2
- class VersionsController < BaseController
3
- def show
4
- render json: {
5
- version: Simpleadmin::VERSION
6
- }
7
- end
8
- end
9
- end
@@ -1,8 +0,0 @@
1
- module EntityFieldTypes
2
- class StatusField
3
- def run(field_name, model_klass_name)
4
- resource_klass = model_klass_name.constantize
5
- resource_klass.public_send(field_name.pluralize).keys
6
- end
7
- end
8
- end
@@ -1,33 +0,0 @@
1
- class EntityService
2
- def index_action
3
- models = []
4
-
5
- ApplicationRecord.descendants.each do |model|
6
- name = model.name
7
- columns = model.columns.map do |column|
8
- {
9
- name: column.name,
10
- type: column.sql_type.parameterize.underscore
11
- }
12
- end
13
-
14
- models.push(
15
- name: name,
16
- columns: columns
17
- )
18
- end
19
-
20
- {
21
- models: models
22
- }
23
- end
24
-
25
- def show_action(resource_klass)
26
- {
27
- name: resource_klass.name,
28
- column_names: resource_klass.column_names,
29
- columns: resource_klass.columns.map { |column| { name: column.name, type: column.sql_type.parameterize.underscore } },
30
- reflections: resource_klass.reflections.keys
31
- }
32
- end
33
- end
@@ -1,22 +0,0 @@
1
- class ResourceSearchService
2
- attr_reader :search_query, :model_klass, :model_attributes
3
-
4
- def initialize(search_query, model_klass, model_attributes)
5
- @search_query = search_query
6
-
7
- @model_klass = model_klass
8
- @model_attributes = model_attributes
9
- end
10
-
11
- def run
12
- return [] if model_attributes.empty?
13
-
14
- query = model_attributes.map { |model_attribute| "#{model_attribute} LIKE ?" }.join(' OR ')
15
- query_arguments = model_attributes.map { "%#{search_query}%" }
16
-
17
- OpenStruct.new(
18
- resources: model_klass.where(query, *query_arguments),
19
- total: model_klass.where(query, *query_arguments).count
20
- )
21
- end
22
- end
@@ -1,43 +0,0 @@
1
- class ResourceService
2
- attr_reader :model_klass, :model_fields
3
-
4
- def initialize(model_klass, model_fields)
5
- @model_klass = model_klass
6
- @model_fields = model_fields
7
- end
8
-
9
- def index_action(per_page, page, sort, query, model_attributes, reflection_tables, reflection_columns)
10
- per_page = per_page.to_i
11
- page = page.to_i if page.present?
12
-
13
- total = model_klass.count
14
-
15
- resources = model_klass.limit(per_page)
16
-
17
- if reflection_tables.present?
18
- resources = resources.includes(reflection_tables)
19
- model_fields.push(*reflection_columns)
20
- end
21
-
22
- if query.present?
23
- resource_search_service_instance = ResourceSearchService.new(query, model_klass_name, model_attributes)
24
- resource_search_service_result = resource_search_service_instance.run
25
-
26
- resources = resource_search_service_result.resources
27
- total = resource_search_service_result.total
28
- end
29
-
30
- resources = resources.offset((per_page * page) - per_page) if page.present?
31
-
32
- resources = if sort.present?
33
- resources.order(sort[:column_name] => sort[:order])
34
- else
35
- resources.order(id: :asc)
36
- end
37
-
38
- {
39
- resources: resources.pluck(*model_fields).map { |resource| model_fields.zip(resource).to_h },
40
- total: total
41
- }
42
- end
43
- end
@@ -1,13 +0,0 @@
1
- module Rails
2
- class Application
3
- def load_models!
4
- load_path = 'app/models'
5
-
6
- matcher = /\A#{Regexp.escape(load_path.to_s)}\/(.*)\.rb\Z/
7
-
8
- Dir.glob("#{load_path}/**/*.rb").sort.each do |file|
9
- require_dependency file.sub(matcher, '\1')
10
- end
11
- end
12
- end
13
- end
@@ -1,11 +0,0 @@
1
- class Rails::Application
2
- def load_models!
3
- load_path = 'app/models'
4
-
5
- matcher = /\A#{Regexp.escape(load_path.to_s)}\/(.*)\.rb\Z/
6
-
7
- Dir.glob("#{load_path}/**/*.rb").sort.each do |file|
8
- require_dependency file.sub(matcher, '\1')
9
- end
10
- end
11
- end
@@ -1,6 +0,0 @@
1
- require 'simpleadmin/routes'
2
-
3
- module Simpleadmin
4
- class Engine < Rails::Engine
5
- end
6
- end
@@ -1,17 +0,0 @@
1
- module ActionDispatch::Routing
2
- class Mapper
3
- def mount_simpleadmin
4
- namespace :simple_admin do
5
- resources :entities, only: %i[index show]
6
- resources :entity_field_type_actions, only: :create
7
-
8
- resources :resources do
9
- get :show_by, on: :collection
10
- get :show_total, on: :collection
11
- end
12
-
13
- get 'version', to: 'versions#show'
14
- end
15
- end
16
- end
17
- end