simple-admin 0.2.0.pre.alpha → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -5
  3. data/Gemfile +1 -20
  4. data/LICENSE.txt +1 -1
  5. data/README.md +11 -93
  6. data/app/controllers/api/v1/simple_admin/base_controller.rb +6 -0
  7. data/app/controllers/api/v1/simple_admin/credentials_controller.rb +17 -0
  8. data/app/controllers/api/v1/simple_admin/entities_controller.rb +28 -0
  9. data/app/controllers/api/v1/simple_admin/resources_controller.rb +105 -0
  10. data/lib/simple-admin.rb +0 -34
  11. data/lib/simple_admin/engine.rb +0 -10
  12. data/lib/simple_admin/routes.rb +7 -12
  13. data/lib/simple_admin/version.rb +1 -1
  14. data/simple-admin.gemspec +1 -6
  15. metadata +8 -175
  16. data/.codeclimate.yml +0 -3
  17. data/.gitattributes +0 -1
  18. data/.hound.yml +0 -2
  19. data/.inch.yml +0 -4
  20. data/.rspec +0 -2
  21. data/.rubocop.yml +0 -68
  22. data/.travis.yml +0 -11
  23. data/CHANGELOG.md +0 -37
  24. data/CODE_OF_CONDUCT.md +0 -74
  25. data/CONTRIBUTING.md +0 -51
  26. data/ISSUE_TEMPLATE.md +0 -19
  27. data/app/assets/fonts/Simple-Line-Icons.woff +0 -0
  28. data/app/assets/javascripts/simple_admin/application.js +0 -18
  29. data/app/assets/javascripts/simple_admin/components/notification.js +0 -7
  30. data/app/assets/javascripts/simple_admin/components/tabs.js +0 -7
  31. data/app/assets/javascripts/simple_admin/components/tags.js +0 -11
  32. data/app/assets/stylesheets/simple_admin/application.scss +0 -48
  33. data/app/assets/stylesheets/simple_admin/global/buttons.css +0 -473
  34. data/app/assets/stylesheets/simple_admin/global/errors.css +0 -12
  35. data/app/assets/stylesheets/simple_admin/global/fontawesome-icons.css +0 -3024
  36. data/app/assets/stylesheets/simple_admin/global/fonts.css +0 -560
  37. data/app/assets/stylesheets/simple_admin/global/jquery.dataTables.css +0 -169
  38. data/app/assets/stylesheets/simple_admin/global/pagination.css +0 -11
  39. data/app/assets/stylesheets/simple_admin/global/reset.css +0 -197
  40. data/app/assets/stylesheets/simple_admin/global/simple-line-icons.css +0 -672
  41. data/app/assets/stylesheets/simple_admin/global/table.css +0 -214
  42. data/app/assets/stylesheets/simple_admin/global/tags.css +0 -87
  43. data/app/assets/stylesheets/simple_admin/page/aside.css +0 -324
  44. data/app/assets/stylesheets/simple_admin/page/header.css +0 -332
  45. data/app/assets/stylesheets/simple_admin/page/main-container.css +0 -222
  46. data/app/assets/stylesheets/simple_admin/page/sign_in.css +0 -15
  47. data/app/assets/stylesheets/simple_admin/tabs.css +0 -26
  48. data/app/controllers/simple_admin/admin/application_controller.rb +0 -21
  49. data/app/controllers/simple_admin/admin/search_controller.rb +0 -29
  50. data/app/controllers/simple_admin/admin/system/entities_controller.rb +0 -37
  51. data/app/controllers/simple_admin/admin/system/entity_field_types_controller.rb +0 -31
  52. data/app/controllers/simple_admin/admin/system/entity_fields_controller.rb +0 -20
  53. data/app/helpers/simple_admin_helper.rb +0 -11
  54. data/app/models/simple_admin/base.rb +0 -14
  55. data/app/models/simple_admin/entity.rb +0 -50
  56. data/app/models/simple_admin/entity_field.rb +0 -77
  57. data/app/models/simple_admin/entity_field_setting.rb +0 -5
  58. data/app/models/simple_admin/entity_field_type.rb +0 -77
  59. data/app/views/kaminari/_next_page.html.erb +0 -5
  60. data/app/views/kaminari/_page.html.erb +0 -3
  61. data/app/views/kaminari/_paginator.html.erb +0 -26
  62. data/app/views/kaminari/_prev_page.html.erb +0 -5
  63. data/app/views/layouts/simple_admin.html.erb +0 -28
  64. data/app/views/simple_admin/admin/resource/_form.html.erb +0 -19
  65. data/app/views/simple_admin/admin/resource/edit.html.erb +0 -21
  66. data/app/views/simple_admin/admin/resource/index.html.erb +0 -13
  67. data/app/views/simple_admin/admin/resource/new.html.erb +0 -21
  68. data/app/views/simple_admin/admin/search/index.html.erb +0 -55
  69. data/app/views/simple_admin/admin/shared/_aside.html.erb +0 -46
  70. data/app/views/simple_admin/admin/shared/_footer.html.erb +0 -5
  71. data/app/views/simple_admin/admin/shared/_header.html.erb +0 -7
  72. data/app/views/simple_admin/admin/shared/collection/_header.html.erb +0 -12
  73. data/app/views/simple_admin/admin/shared/collection/_table_body.html.erb +0 -29
  74. data/app/views/simple_admin/admin/shared/collection/_table_header.html.erb +0 -11
  75. data/app/views/simple_admin/admin/shared/components/_logout.html.erb +0 -6
  76. data/app/views/simple_admin/admin/shared/components/_search.html.erb +0 -14
  77. data/app/views/simple_admin/admin/shared/messages/_errors.html.erb +0 -9
  78. data/app/views/simple_admin/admin/shared/messages/_flash.html.erb +0 -8
  79. data/app/views/simple_admin/admin/system/entities/_form.html.erb +0 -32
  80. data/app/views/simple_admin/admin/system/entities/edit.html.erb +0 -27
  81. data/app/views/simple_admin/admin/system/entities/entity_fields/_form.html.erb +0 -62
  82. data/app/views/simple_admin/admin/system/entities/entity_fields/edit.html.erb +0 -9
  83. data/app/views/simple_admin/admin/system/entities/entity_fields/index.html.erb +0 -39
  84. data/app/views/simple_admin/admin/system/entities/entity_fields/new.html.erb +0 -12
  85. data/app/views/simple_admin/admin/system/entities/index.html.erb +0 -59
  86. data/app/views/simple_admin/admin/system/entities/new.html.erb +0 -21
  87. data/app/views/simple_admin/admin/system/entity_field_types/_form.html.erb +0 -21
  88. data/app/views/simple_admin/admin/system/entity_field_types/edit.html.erb +0 -24
  89. data/app/views/simple_admin/admin/system/entity_field_types/index.html.erb +0 -55
  90. data/app/views/simple_admin/admin/system/entity_field_types/new.html.erb +0 -21
  91. data/app/views/simple_admin/admin/system/entity_fields/create.js.erb +0 -18
  92. data/app/views/simple_admin/admin/system/entity_fields/destroy.js.erb +0 -18
  93. data/app/views/simple_admin/admin/system/entity_fields/update.js.erb +0 -1
  94. data/app/views/simple_admin/fields/boolean/_form.html.erb +0 -6
  95. data/app/views/simple_admin/fields/boolean/_index.html.erb +0 -5
  96. data/app/views/simple_admin/fields/image/_collection.html.erb +0 -5
  97. data/app/views/simple_admin/fields/image/_form.html.erb +0 -6
  98. data/app/views/simple_admin/fields/number/_collection.html.erb +0 -5
  99. data/app/views/simple_admin/fields/number/_form.html.erb +0 -6
  100. data/app/views/simple_admin/fields/password/_form.html.erb +0 -6
  101. data/app/views/simple_admin/fields/relation/_collection.html.erb +0 -3
  102. data/app/views/simple_admin/fields/relation/_form.html.erb +0 -6
  103. data/app/views/simple_admin/fields/select/_form.html.erb +0 -8
  104. data/app/views/simple_admin/fields/select/_index.html.erb +0 -5
  105. data/app/views/simple_admin/fields/string/_collection.html.erb +0 -3
  106. data/app/views/simple_admin/fields/string/_form.html.erb +0 -6
  107. data/app/views/simple_admin/fields/tags/_collection.html.erb +0 -3
  108. data/app/views/simple_admin/fields/tags/_form.html.erb +0 -6
  109. data/app/views/simple_admin/fields/text/_collection.html.erb +0 -3
  110. data/app/views/simple_admin/fields/text/_form.html.erb +0 -6
  111. data/codecov.yml +0 -21
  112. data/config/locales/en.yml +0 -37
  113. data/config/locales/ru.yml +0 -20
  114. data/lib/generators/simple_admin/install_generator.rb +0 -34
  115. data/lib/generators/simple_admin/migration_generator.rb +0 -24
  116. data/lib/generators/simple_admin/model_entities_generator.rb +0 -49
  117. data/lib/generators/templates/application_controller.rb +0 -20
  118. data/lib/generators/templates/initializers/simple_admin.rb.erb +0 -3
  119. data/lib/generators/templates/migrations/core_data_migration.rb +0 -12
  120. data/lib/generators/templates/migrations/core_migrations/entities_migration.rb +0 -13
  121. data/lib/generators/templates/migrations/core_migrations/entity_field_settings_migration.rb +0 -12
  122. data/lib/generators/templates/migrations/core_migrations/entity_field_types_migration.rb +0 -12
  123. data/lib/generators/templates/migrations/core_migrations/entity_fields_migration.rb +0 -18
  124. data/lib/generators/templates/views/devise/registrations/new.html.erb +0 -46
  125. data/lib/generators/templates/views/devise/sessions/new.html.erb +0 -35
  126. data/lib/generators/templates/views/devise/shared/_footer.html.erb +0 -3
  127. data/lib/simple_admin/config.rb +0 -19
  128. data/lib/simple_admin/helpers/boolean_helper.rb +0 -36
  129. data/lib/simple_admin/helpers/url_helper.rb +0 -29
  130. data/lib/simple_admin/refinements/boolean.rb +0 -36
  131. data/lib/simple_admin/resource_controller/actions_builder.rb +0 -40
  132. data/lib/simple_admin/resource_controller/controller_builder.rb +0 -31
  133. data/lib/simple_admin/resource_controller/crudify.rb +0 -111
  134. data/lib/simple_admin/resource_controller/crudify_dynamic_resource.rb +0 -55
  135. data/lib/simple_admin/resource_controller/dynamic_fields.rb +0 -53
  136. data/lib/simple_admin/search.rb +0 -23
  137. data/vendor/assets/fonts/Simple-Line-Icons.eot +0 -0
  138. data/vendor/assets/fonts/Simple-Line-Icons.ttf +0 -0
  139. data/vendor/assets/fonts/Simple-Line-Icons.woff +0 -0
  140. data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
  141. data/vendor/assets/fonts/fontawesome-webfont.svg +0 -2671
  142. data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
  143. data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
  144. data/vendor/assets/fonts/fontawesome-webfont.woff2 +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 918b5fdf9d9832094529ef09ba88f69adfe25e2e
4
- data.tar.gz: db38dafc747766b9035aa868917aef2436250434
3
+ metadata.gz: b313a9b07cb42d38afd189ed5f9d36547e8f7a54
4
+ data.tar.gz: e01f13bcff49f9b858f74d191368bfb5e711838d
5
5
  SHA512:
6
- metadata.gz: 1a331210fab23a5350425d379e67cf3eafa18a227aa28377ac9675b55df9754b5fac92c47000768b73595360f193c09d747f7db53a5770fbf8792a6ea2e9b719
7
- data.tar.gz: a147d76f702bf61b237a0db5f4944e4f073d20849257cff09459166788205b872965f076c3c9d11263656ce12934b3e7cc41451d429e5e43089e7cc786b6c57f
6
+ metadata.gz: 6e000b24abaec6f299f952fb4d4813fb047c4dbae220f19f47e0442b05702955893784a16be0c9b48d0b49e29d96d0d40c6356eaf9de5822f00a136f2cedbc3d
7
+ data.tar.gz: ec4b4028579748601636afdc285aa5d91be4c3888921c0f944532098fe2f1228befc55862ff8dde548fc940acae690b934b1806b5d64768cc535abdcaae9fe82
data/.gitignore CHANGED
@@ -5,11 +5,6 @@
5
5
  /coverage/
6
6
  /doc/
7
7
  /pkg/
8
- /spec/reports/
9
- /spec/example_app/log
10
- /spec/example_app/log/*
11
- /spec/example_app/public/*
12
- /spec/example_app/tmp
13
8
  /tmp/
14
9
 
15
10
  # rspec failure tracking
data/Gemfile CHANGED
@@ -4,24 +4,5 @@ gemspec
4
4
 
5
5
  ruby '2.4.1'
6
6
 
7
- gem 'rails', '~> 5.0.0'
8
-
7
+ gem 'rails', '~> 5.0.6'
9
8
  gem 'pg', '~> 0.18'
10
- gem 'rdoc', require: false
11
-
12
- group :development, :test do
13
- gem 'factory_bot_rails'
14
- gem 'rspec-rails'
15
- end
16
-
17
- group :test do
18
- gem 'codecov', require: false
19
- gem 'simplecov', require: false
20
-
21
- gem 'database_cleaner'
22
- gem 'faker'
23
- gem 'rails-controller-testing'
24
- gem 'sprockets-rails', require: 'sprockets/railtie'
25
-
26
- gem 'pry'
27
- end
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2017 Dmitriy Strukov
3
+ Copyright (c) 2018 Dmitriy Strukov
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -4,110 +4,33 @@
4
4
  [![codecov](https://codecov.io/gh/evil-raccoon/simple_admin/branch/master/graph/badge.svg)](https://codecov.io/gh/evil-raccoon/simple_admin)
5
5
  [![Inline docs](http://inch-ci.org/github/evil-raccoon/simple_admin.svg)](http://inch-ci.org/github/evil-raccoon/simple_admin)
6
6
 
7
- A framework for creating admin dashboards in an instant.
8
- [Try the demo][demo].
7
+ A small API library to connect your application with SimpleAdmin service and create admin dashboards in an instant.
9
8
 
10
9
  ## Getting started
11
- Add SimpleAdmin to your Gemfile and run bundle:
12
10
 
13
11
  ![simple_admin](https://i.imgur.com/s1fGVRq.png)
14
12
 
15
- ```ruby
16
- gem 'simple-admin'
17
- ```
18
-
19
- The following generators will create rolify initializer and core migrations.
20
-
21
- ```ruby
22
- rails generate simple_admin:install
23
- rails generate simple_admin:migration
24
-
25
- rails db:migrate
26
- ```
27
-
28
- Restart your server, and visit [http://localhost:3000/admin/system/entities](http://localhost:3000/admin/system/entities) for authentication.
29
-
30
- ### Authentication
31
-
32
- Simple admin is very flexible solution, so you can use any gems for that purposes, all you need is just create `app/controllers/simple_admin/admin/application_controller.rb` and remove current_user and authenticate_user! methods with `raise NotImplemented` error and keep the following.
33
-
34
- ```ruby
35
- # app/controllers/simple_admin/admin/application_controller.rb
36
-
37
- module SimpleAdmin
38
- module Admin
39
- class ApplicationController < ActionController::Base
40
- layout 'simple_admin'
41
-
42
- # use here you authentication before action
43
- end
44
- end
45
- end
46
- ```
47
-
48
- After that create next partial:
49
-
50
- ```ruby
51
- # app/views/simple_admin/admin/shared/components/_logout.html.erb
52
-
53
- <ul class="nav-header pull-right">
54
- <li>
55
- <%= link_to t('simple_admin.actions.logout'), destroy_user_session_path, method: :delete %>
56
- </li>
57
- </ul>
58
- ```
59
-
60
- ### Devise integration
61
- Simple Admin supports devise, you need to add into the Gemfile `gem 'devise'` and run `rails generate simple_admin:install`. This will create view templates for authentication and registration, after that you need to create layout:
13
+ Add SimpleAdmin to your Gemfile and run bundle:
62
14
 
63
15
  ```ruby
64
- # app/views/layouts/devise.html.erb
65
-
66
- <!DOCTYPE html>
67
- <html>
68
- <head>
69
- <title>Exampleapp</title>
70
- <%= csrf_meta_tags %>
71
-
72
- <%= stylesheet_link_tag 'simple_admin/application', media: 'all', 'data-turbolinks-track': 'reload' %>
73
- <%= javascript_include_tag 'simple_admin/application', 'data-turbolinks-track': 'reload' %>
74
- </head>
75
-
76
- <body>
77
- <%= yield %>
78
- </body>
79
- </html>
16
+ gem 'simple-admin'
80
17
  ```
81
18
 
82
- And add the layout to `application.rb`:
19
+ After that, you need to mount simple admin built-in routes:
83
20
 
84
21
  ```ruby
85
- module Exampleapp
86
- class Application < Rails::Application
87
- config.to_prepare do
88
- Devise::SessionsController.layout 'devise'
89
- end
90
- end
22
+ # config/routes.rb
23
+ Rails.application.routes.draw do
24
+ mount_for_simple_admin
91
25
  end
92
26
  ```
93
27
 
94
- ## Customization
95
- You have two different ways to customize admin panel entities and fields, first way it's to use built in generator, it automatically create all fields for form and collection pages (excepting timestamps and id). All you need is run next command:
28
+ Create initializer, add your secret key and restart server
96
29
 
97
30
  ```ruby
98
- rails generate simple_admin:model_entities Post
31
+ # config/initializers/simpleadmin.rb
32
+ ENV['SIMPLE_ADMIN_SECRET_KEY'] = 'SECRET_KEY'
99
33
  ```
100
- Next way is to create entity in administrative panel and fields for it, you can do it on the entities page (http://localhost:3000/admin/system/entities).
101
-
102
- ## Dependencies
103
-
104
- We try to minimize the use of third-party libraries, but Simple Admin built with the following open source projects:
105
-
106
- Tool | Description
107
- --------------------- | -----------
108
- [Kaminari] | Paginator for Ruby webapps
109
-
110
- [Kaminari]: https://github.com/kaminari/kaminari
111
34
 
112
35
  ## Contributing
113
36
 
@@ -117,13 +40,8 @@ Tool | Description
117
40
  4. Push to the branch (`git push origin my-new-feature`)
118
41
  5. Create a new Pull Request
119
42
 
120
-
121
- [CanCanCan]: https://github.com/CanCanCommunity/cancancan
122
-
123
43
  ## Copyright
124
44
 
125
45
  Released under MIT License.
126
46
 
127
- Copyright © 2017 Evil Raccoon.
128
-
129
- [demo]: https://simpleadmin.herokuapp.com
47
+ Copyright © 2018 Evil Raccoon.
@@ -0,0 +1,6 @@
1
+ module Api::V1
2
+ module SimpleAdmin
3
+ class BaseController < ActionController::API
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,17 @@
1
+ module Api::V1
2
+ module SimpleAdmin
3
+ class CredentialsController < BaseController
4
+ def verify_key
5
+ render json: {
6
+ secret_key_valid: secret_key_valid?
7
+ }
8
+ end
9
+
10
+ private
11
+
12
+ def secret_key_valid?
13
+ ENV['SIMPLE_ADMIN_SECRET_KEY'] == params[:secret_key]
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ module Api::V1
2
+ module SimpleAdmin
3
+ class EntitiesController < BaseController
4
+ before_action :load_models
5
+
6
+ def index
7
+ render json: {
8
+ entities_names: ApplicationRecord.descendants.map { |model| model.name }
9
+ }
10
+ end
11
+
12
+ def show
13
+ resource_klass = params[:id].capitalize.constantize
14
+
15
+ render json: {
16
+ name: resource_klass.name,
17
+ column_names: resource_klass.column_names
18
+ }
19
+ end
20
+
21
+ private
22
+
23
+ def load_models
24
+ Rails.application.eager_load!
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,105 @@
1
+ module Api::V1
2
+ module SimpleAdmin
3
+ class ResourcesController < BaseController
4
+ def index
5
+ model_klass = params[:model_klass_name].constantize
6
+ model_fields = params[:model_fields].map { |field_attributes| field_attributes[:field_name] }
7
+
8
+ per_page = params[:per_page].to_i
9
+ page = params[:page].to_i if params[:page].present?
10
+ total = model_klass.count
11
+
12
+ resources = model_klass.limit(per_page)
13
+
14
+ if params[:query].present?
15
+ search_result = search(params[:query], model_klass, params[:model_attributes])
16
+
17
+ resources = search_result[:resources]
18
+ total = search_result[:total]
19
+ end
20
+
21
+ resources = resources.offset((per_page * page) - per_page) if page.present?
22
+ resources = resources.order(params[:sort][:column_name] => params[:sort][:order]) if params[:sort].present?
23
+
24
+ resources = resources.map do |resource|
25
+ _resource = {}
26
+
27
+ resource.attributes.each do |attribute_name, attribute_value|
28
+ next unless model_fields.include?(attribute_name)
29
+
30
+ if params[:model_fields].find { |field_attributes| field_attributes[:field_name] == attribute_name && field_attributes[:field_type] == 'image' }.present?
31
+ _resource[attribute_name] = "#{ENV['HOST']}/#{resource.public_send(attribute_name).url}"
32
+ else
33
+ _resource[attribute_name] = attribute_value
34
+ end
35
+ end
36
+
37
+ _resource
38
+ end
39
+
40
+ render json: {
41
+ resources: resources,
42
+ total: total
43
+ }
44
+ end
45
+
46
+ def show
47
+ model_klass = params[:model_klass_name].constantize
48
+ model_fields = params[:model_fields].split(',')
49
+
50
+ resource = model_klass.find(params[:id]).attributes.slice(*model_fields)
51
+
52
+ render json: resource
53
+ end
54
+
55
+ def create
56
+ model_klass = params[:model_klass_name].constantize
57
+
58
+ resource = model_klass.new(resource_params)
59
+ resource.image = CarrierStringIO.new(Base64.decode64(resource_params[:image]))
60
+
61
+ if resource.save
62
+ render json: resource
63
+ else
64
+ render json: resource.errors
65
+ end
66
+ end
67
+
68
+ def update
69
+ model_klass = params[:model_klass_name].constantize
70
+ resource = model_klass.find(params[:id])
71
+
72
+ if resource.update(resource_params)
73
+ render json: resource
74
+ else
75
+ render json: resource.errors
76
+ end
77
+ end
78
+
79
+ def destroy
80
+ model_klass = params[:model_klass_name].constantize
81
+ resource = model_klass.find(params[:id])
82
+
83
+ resource.destroy
84
+ end
85
+
86
+ private
87
+
88
+ def search(search_query, model_klass, model_attributes)
89
+ return [] if model_attributes.empty?
90
+
91
+ query = model_attributes.map { |model_attribute| "#{model_attribute} LIKE ?" }.join(' OR ')
92
+ query_arguments = model_attributes.map { "%#{search_query}%" }
93
+
94
+ {
95
+ resources: model_klass.where(query, *query_arguments),
96
+ total: model_klass.where(query, *query_arguments).count
97
+ }
98
+ end
99
+
100
+ def resource_params
101
+ params.require(:resource).permit!
102
+ end
103
+ end
104
+ end
105
+ end
@@ -2,38 +2,4 @@ require 'simple_admin/version'
2
2
  require 'simple_admin/engine'
3
3
 
4
4
  module SimpleAdmin
5
- module Refinements
6
- require 'simple_admin/refinements/boolean'
7
- end
8
-
9
- module ResourceController
10
- require 'simple_admin/resource_controller/actions_builder'
11
- require 'simple_admin/resource_controller/controller_builder'
12
-
13
- require 'simple_admin/resource_controller/crudify'
14
- require 'simple_admin/resource_controller/crudify_dynamic_resource'
15
-
16
- require 'simple_admin/resource_controller/dynamic_fields'
17
- end
18
-
19
- module Helpers
20
- require 'simple_admin/helpers/url_helper'
21
- require 'simple_admin/helpers/boolean_helper'
22
- end
23
-
24
- require 'simple_admin/config'
25
- require 'simple_admin/search'
26
-
27
- class << self
28
- def mount_entities!(routing_mapper)
29
- SimpleAdmin::Entity.resource_attributes.each do |resource_name, model_klass_name|
30
- routing_mapper.resources(resource_name)
31
-
32
- controller_builder = SimpleAdmin::ResourceController::ControllerBuilder.new(resource_name)
33
- controller_builder.build!
34
-
35
- SimpleAdmin::ResourceController::ActionsBuilder.initialize_actions!(controller_builder.controller_klass, model_klass_name)
36
- end
37
- end
38
- end
39
5
  end
@@ -1,16 +1,6 @@
1
- require 'bootstrap-sass'
2
- require 'jquery-ui-rails'
3
- require 'kaminari'
4
-
5
1
  require 'simple_admin/routes'
6
2
 
7
3
  module SimpleAdmin
8
4
  class Engine < Rails::Engine
9
- initializer 'simple_admin.precompile', group: :all do |app|
10
- app.config.assets.precompile += [
11
- 'simple_admin/application.css',
12
- 'simple_admin/application.js'
13
- ]
14
- end
15
5
  end
16
6
  end
@@ -10,21 +10,16 @@ module ActionDispatch::Routing
10
10
  # mount_for_simple_admin
11
11
  # end
12
12
  #
13
- # @since 0.1.2-alpha
13
+ # @since 1.0.0
14
14
 
15
15
  def mount_for_simple_admin
16
- scope module: :simple_admin do
17
- namespace :admin do
18
- root 'system/entities#index'
16
+ namespace :api do
17
+ namespace :v1 do
18
+ namespace :simple_admin do
19
+ resources :entities, only: [:index, :show]
20
+ resources :resources
19
21
 
20
- get :search, to: 'search#index'
21
-
22
- SimpleAdmin.mount_entities!(self) if ActiveRecord::Base.connection.table_exists?(:simple_admin_entities)
23
-
24
- namespace :system do
25
- resources :entities
26
- resources :entity_field_types
27
- resources :entity_fields, only: %i[create update destroy]
22
+ post 'verify_key' => 'credentials#verify_key'
28
23
  end
29
24
  end
30
25
  end
@@ -1,3 +1,3 @@
1
1
  module SimpleAdmin
2
- VERSION = '0.2.0-alpha'.freeze
2
+ VERSION = '1.0.0'.freeze
3
3
  end