simple-admin 0.1.0.pre.alpha

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 (139) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +3 -0
  3. data/.gitattributes +1 -0
  4. data/.gitignore +17 -0
  5. data/.hound.yml +2 -0
  6. data/.inch.yml +4 -0
  7. data/.rspec +2 -0
  8. data/.rubocop.yml +68 -0
  9. data/.travis.yml +11 -0
  10. data/CODE_OF_CONDUCT.md +74 -0
  11. data/CONTRIBUTING.md +51 -0
  12. data/Gemfile +27 -0
  13. data/LICENSE.txt +21 -0
  14. data/README.md +87 -0
  15. data/Rakefile +20 -0
  16. data/app/assets/fonts/Simple-Line-Icons.woff +0 -0
  17. data/app/assets/javascripts/simple_admin/application.js +28 -0
  18. data/app/assets/stylesheets/simple_admin/application.scss +48 -0
  19. data/app/assets/stylesheets/simple_admin/global/buttons.css +473 -0
  20. data/app/assets/stylesheets/simple_admin/global/errors.css +12 -0
  21. data/app/assets/stylesheets/simple_admin/global/fontawesome-icons.css +3024 -0
  22. data/app/assets/stylesheets/simple_admin/global/fonts.css +560 -0
  23. data/app/assets/stylesheets/simple_admin/global/jquery.dataTables.css +169 -0
  24. data/app/assets/stylesheets/simple_admin/global/pagination.css +11 -0
  25. data/app/assets/stylesheets/simple_admin/global/reset.css +197 -0
  26. data/app/assets/stylesheets/simple_admin/global/simple-line-icons.css +672 -0
  27. data/app/assets/stylesheets/simple_admin/global/table.css +214 -0
  28. data/app/assets/stylesheets/simple_admin/global/tags.css +87 -0
  29. data/app/assets/stylesheets/simple_admin/page/aside.css +324 -0
  30. data/app/assets/stylesheets/simple_admin/page/header.css +332 -0
  31. data/app/assets/stylesheets/simple_admin/page/main-container.css +222 -0
  32. data/app/assets/stylesheets/simple_admin/page/sign_in.css +15 -0
  33. data/app/assets/stylesheets/simple_admin/tabs.css +26 -0
  34. data/app/controllers/simple_admin/admin/application_controller.rb +21 -0
  35. data/app/controllers/simple_admin/admin/search_controller.rb +29 -0
  36. data/app/controllers/simple_admin/admin/system/entities_controller.rb +37 -0
  37. data/app/controllers/simple_admin/admin/system/entity_field_types_controller.rb +31 -0
  38. data/app/controllers/simple_admin/admin/system/entity_fields_controller.rb +20 -0
  39. data/app/helpers/simple_admin_helper.rb +15 -0
  40. data/app/models/simple_admin/base.rb +14 -0
  41. data/app/models/simple_admin/entity.rb +50 -0
  42. data/app/models/simple_admin/entity_field.rb +77 -0
  43. data/app/models/simple_admin/entity_field_setting.rb +5 -0
  44. data/app/models/simple_admin/entity_field_type.rb +79 -0
  45. data/app/views/kaminari/_next_page.html.erb +5 -0
  46. data/app/views/kaminari/_page.html.erb +3 -0
  47. data/app/views/kaminari/_paginator.html.erb +26 -0
  48. data/app/views/kaminari/_prev_page.html.erb +5 -0
  49. data/app/views/layouts/devise.html.erb +11 -0
  50. data/app/views/layouts/simple_admin.html.erb +28 -0
  51. data/app/views/simple_admin/admin/resource/_form.html.erb +19 -0
  52. data/app/views/simple_admin/admin/resource/edit.html.erb +21 -0
  53. data/app/views/simple_admin/admin/resource/index.html.erb +13 -0
  54. data/app/views/simple_admin/admin/resource/new.html.erb +21 -0
  55. data/app/views/simple_admin/admin/search/index.html.erb +55 -0
  56. data/app/views/simple_admin/admin/shared/_aside.html.erb +46 -0
  57. data/app/views/simple_admin/admin/shared/_footer.html.erb +5 -0
  58. data/app/views/simple_admin/admin/shared/_header.html.erb +7 -0
  59. data/app/views/simple_admin/admin/shared/collection/_header.html.erb +12 -0
  60. data/app/views/simple_admin/admin/shared/collection/_table_body.html.erb +29 -0
  61. data/app/views/simple_admin/admin/shared/collection/_table_header.html.erb +11 -0
  62. data/app/views/simple_admin/admin/shared/components/_logout.html.erb +6 -0
  63. data/app/views/simple_admin/admin/shared/components/_search.html.erb +14 -0
  64. data/app/views/simple_admin/admin/shared/messages/_errors.html.erb +9 -0
  65. data/app/views/simple_admin/admin/shared/messages/_flash.html.erb +8 -0
  66. data/app/views/simple_admin/admin/system/entities/_form.html.erb +32 -0
  67. data/app/views/simple_admin/admin/system/entities/edit.html.erb +27 -0
  68. data/app/views/simple_admin/admin/system/entities/entity_fields/_form.html.erb +62 -0
  69. data/app/views/simple_admin/admin/system/entities/entity_fields/edit.html.erb +9 -0
  70. data/app/views/simple_admin/admin/system/entities/entity_fields/index.html.erb +39 -0
  71. data/app/views/simple_admin/admin/system/entities/entity_fields/new.html.erb +12 -0
  72. data/app/views/simple_admin/admin/system/entities/index.html.erb +59 -0
  73. data/app/views/simple_admin/admin/system/entities/new.html.erb +21 -0
  74. data/app/views/simple_admin/admin/system/entity_field_types/_form.html.erb +21 -0
  75. data/app/views/simple_admin/admin/system/entity_field_types/edit.html.erb +24 -0
  76. data/app/views/simple_admin/admin/system/entity_field_types/index.html.erb +55 -0
  77. data/app/views/simple_admin/admin/system/entity_field_types/new.html.erb +21 -0
  78. data/app/views/simple_admin/admin/system/entity_fields/create.js.erb +18 -0
  79. data/app/views/simple_admin/admin/system/entity_fields/destroy.js.erb +18 -0
  80. data/app/views/simple_admin/admin/system/entity_fields/update.js.erb +1 -0
  81. data/app/views/simple_admin/fields/boolean/_form.html.erb +6 -0
  82. data/app/views/simple_admin/fields/boolean/_index.html.erb +5 -0
  83. data/app/views/simple_admin/fields/image/_collection.html.erb +5 -0
  84. data/app/views/simple_admin/fields/image/_form.html.erb +6 -0
  85. data/app/views/simple_admin/fields/number/_collection.html.erb +5 -0
  86. data/app/views/simple_admin/fields/number/_form.html.erb +6 -0
  87. data/app/views/simple_admin/fields/password/_form.html.erb +6 -0
  88. data/app/views/simple_admin/fields/relation/_collection.html.erb +3 -0
  89. data/app/views/simple_admin/fields/relation/_form.html.erb +6 -0
  90. data/app/views/simple_admin/fields/select/_form.html.erb +8 -0
  91. data/app/views/simple_admin/fields/select/_index.html.erb +5 -0
  92. data/app/views/simple_admin/fields/string/_collection.html.erb +3 -0
  93. data/app/views/simple_admin/fields/string/_form.html.erb +6 -0
  94. data/app/views/simple_admin/fields/tags/_collection.html.erb +3 -0
  95. data/app/views/simple_admin/fields/tags/_form.html.erb +6 -0
  96. data/app/views/simple_admin/fields/text/_collection.html.erb +3 -0
  97. data/app/views/simple_admin/fields/text/_form.html.erb +6 -0
  98. data/bin/bundle +4 -0
  99. data/bin/rails +5 -0
  100. data/codecov.yml +21 -0
  101. data/config/locales/en.yml +23 -0
  102. data/config/locales/ru.yml +20 -0
  103. data/config/routes.rb +19 -0
  104. data/lib/generators/simple_admin/install_generator.rb +41 -0
  105. data/lib/generators/simple_admin/migration_generator.rb +24 -0
  106. data/lib/generators/templates/application_controller.rb +20 -0
  107. data/lib/generators/templates/initializers/simple_admin.rb.erb +3 -0
  108. data/lib/generators/templates/migrations/core_data_migration.rb +12 -0
  109. data/lib/generators/templates/migrations/core_migrations/entities_migration.rb +13 -0
  110. data/lib/generators/templates/migrations/core_migrations/entity_field_settings_migration.rb +12 -0
  111. data/lib/generators/templates/migrations/core_migrations/entity_field_types_migration.rb +12 -0
  112. data/lib/generators/templates/migrations/core_migrations/entity_fields_migration.rb +18 -0
  113. data/lib/generators/templates/user.rb +24 -0
  114. data/lib/generators/templates/views/devise/registrations/new.html.erb +46 -0
  115. data/lib/generators/templates/views/devise/sessions/new.html.erb +35 -0
  116. data/lib/generators/templates/views/devise/shared/_footer.html.erb +3 -0
  117. data/lib/simple_admin.rb +39 -0
  118. data/lib/simple_admin/config.rb +19 -0
  119. data/lib/simple_admin/engine.rb +15 -0
  120. data/lib/simple_admin/helpers/boolean_helper.rb +36 -0
  121. data/lib/simple_admin/helpers/url_helper.rb +29 -0
  122. data/lib/simple_admin/refinements/boolean.rb +36 -0
  123. data/lib/simple_admin/resource_controller/actions_builder.rb +40 -0
  124. data/lib/simple_admin/resource_controller/controller_builder.rb +31 -0
  125. data/lib/simple_admin/resource_controller/crudify.rb +111 -0
  126. data/lib/simple_admin/resource_controller/crudify_dynamic_resource.rb +55 -0
  127. data/lib/simple_admin/resource_controller/dynamic_fields.rb +53 -0
  128. data/lib/simple_admin/search.rb +23 -0
  129. data/lib/simple_admin/version.rb +3 -0
  130. data/simple_admin.gemspec +38 -0
  131. data/vendor/assets/fonts/Simple-Line-Icons.eot +0 -0
  132. data/vendor/assets/fonts/Simple-Line-Icons.ttf +0 -0
  133. data/vendor/assets/fonts/Simple-Line-Icons.woff +0 -0
  134. data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
  135. data/vendor/assets/fonts/fontawesome-webfont.svg +2671 -0
  136. data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
  137. data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
  138. data/vendor/assets/fonts/fontawesome-webfont.woff2 +0 -0
  139. metadata +307 -0
@@ -0,0 +1,21 @@
1
+ ---
2
+
3
+ codecov:
4
+ notify:
5
+ require_ci_to_pass: true
6
+
7
+ comment: off
8
+
9
+ coverage:
10
+ precision: 2
11
+
12
+ range:
13
+ - 70.0
14
+ - 100.0
15
+
16
+ round: down
17
+
18
+ status:
19
+ changes: false
20
+
21
+ patch: true
@@ -0,0 +1,23 @@
1
+ en:
2
+ simple_admin:
3
+ form_fields:
4
+ empty: '* That page empty, because you need to define form fields'
5
+ create: Create Entity Fields
6
+ table:
7
+ actions: Actions
8
+ actions:
9
+ confirm: Are you sure?
10
+ logout: Log out
11
+ resource:
12
+ index:
13
+ title: '%{resource_name}'
14
+ new:
15
+ title: 'New %{resource_name}'
16
+ edit:
17
+ title: 'Edit %{resource_name}'
18
+ update:
19
+ success: '%{resource_name} has been successfully updated!'
20
+ create:
21
+ success: '%{resource_name} has been successfully created!'
22
+ destroy:
23
+ success: '%{resource_name} has been successfully destroyed!'
@@ -0,0 +1,20 @@
1
+ ru:
2
+ simple_admin:
3
+ table:
4
+ actions: Действия
5
+ actions:
6
+ confirm: Вы уверены?
7
+ logout: Выйти
8
+ resource:
9
+ index:
10
+ title: '%{resource_name}'
11
+ new:
12
+ title: 'Создать %{resource_name}'
13
+ edit:
14
+ title: 'Редактировать %{resource_name}'
15
+ update:
16
+ success: '%{resource_name} был успешно обновлен!'
17
+ create:
18
+ success: '%{resource_name} был успешно создан!'
19
+ destroy:
20
+ success: '%{resource_name} был успешно удален!'
@@ -0,0 +1,19 @@
1
+ Rails.application.routes.draw do
2
+ scope module: :simple_admin do
3
+ namespace :admin do
4
+ root 'system/users#index'
5
+
6
+ get :search, to: 'search#index'
7
+
8
+ if ActiveRecord::Base.connection.table_exists?(:simple_admin_entities)
9
+ SimpleAdmin.mount_entities!(self)
10
+ end
11
+
12
+ namespace :system do
13
+ resources :entities
14
+ resources :entity_field_types
15
+ resources :entity_fields, only: [:create, :update, :destroy]
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,41 @@
1
+ require 'rails/generators/base'
2
+
3
+ module SimpleAdmin
4
+ module Generators
5
+ class InstallGenerator < Rails::Generators::Base
6
+ source_root File.expand_path('../../templates', __FILE__)
7
+
8
+ def copy_initializer
9
+ template 'initializers/simple_admin.rb.erb', 'config/initializers/simple_admin.rb'
10
+ end
11
+
12
+ def create_application_controller
13
+ copy_file(
14
+ 'application_controller.rb',
15
+ 'app/controllers/simple_admin/admin/application_controller.rb'
16
+ )
17
+ end
18
+
19
+ def create_user_model
20
+ copy_file(
21
+ 'user.rb',
22
+ 'app/models/simple_admin/user.rb'
23
+ )
24
+ end
25
+
26
+ def create_views
27
+ if defined?(Devise)
28
+ create_devise_views!
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def create_devise_views!
35
+ copy_file('views/devise/registrations/new.html.erb', 'app/views/devise/registrations/new.html.erb')
36
+ copy_file('views/devise/sessions/new.html.erb', 'app/views/devise/sessions/new.html.erb')
37
+ copy_file('views/devise/shared/_footer.html.erb', 'app/views/devise/shared/_footer.html.erb')
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,24 @@
1
+ require 'rails/generators/active_record'
2
+
3
+ module SimpleAdmin
4
+ module Generators
5
+ class MigrationGenerator < ActiveRecord::Generators::Base
6
+ source_root File.expand_path('../../templates', __FILE__)
7
+
8
+ argument :name, default: 'simple_admin'
9
+
10
+ def copy_simple_admin_migration
11
+ migration_template 'migrations/core_migrations/entities_migration.rb', 'db/migrate/create_simple_admin_entities.rb'
12
+
13
+ migration_template 'migrations/core_migrations/entity_fields_migration.rb',
14
+ 'db/migrate/create_simple_admin_entity_fields.rb'
15
+ migration_template 'migrations/core_migrations/entity_field_types_migration.rb',
16
+ 'db/migrate/create_simple_admin_entity_field_types.rb'
17
+ migration_template 'migrations/core_migrations/entity_field_settings_migration.rb',
18
+ 'db/migrate/create_simple_admin_entity_field_settings.rb'
19
+
20
+ migration_template 'migrations/core_data_migration.rb', 'db/migrate/create_simple_admin_core_data_migration.rb'
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ module SimpleAdmin
2
+ module Admin
3
+ class ApplicationController < ActionController::Base
4
+ layout 'simple_admin'
5
+
6
+ before_action :authenticate_user!
7
+
8
+ def current_user
9
+ # TODO Add authenticated user here
10
+ raise NotImplementedError
11
+ end
12
+
13
+ private
14
+ def authenticate_user!
15
+ # TODO Add authentication logic here
16
+ raise NotImplementedError
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,3 @@
1
+ SimpleAdmin::Config.setup do |config|
2
+ config.per_page = 10
3
+ end
@@ -0,0 +1,12 @@
1
+ class CreateSimpleAdminCoreDataMigration < ActiveRecord::Migration[5.0]
2
+ def change
3
+ SimpleAdmin::EntityFieldType.create(name: :boolean, template: 'simple_admin/fields/boolean')
4
+ SimpleAdmin::EntityFieldType.create(name: :number, template: 'simple_admin/fields/number')
5
+ SimpleAdmin::EntityFieldType.create(name: :select, template: 'simple_admin/fields/select')
6
+ SimpleAdmin::EntityFieldType.create(name: :string, template: 'simple_admin/fields/string')
7
+ SimpleAdmin::EntityFieldType.create(name: :text, template: 'simple_admin/fields/text')
8
+ SimpleAdmin::EntityFieldType.create(name: :image, template: 'simple_admin/fields/image')
9
+ SimpleAdmin::EntityFieldType.create(name: :tags, template: 'simple_admin/fields/tags')
10
+ SimpleAdmin::EntityFieldType.create(name: :relation, template: 'simple_admin/fields/relation')
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ class CreateSimpleAdminEntities < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :simple_admin_entities do |t|
4
+ t.string :model_klass_name, null: false
5
+ t.string :label
6
+
7
+ t.boolean :status, default: true
8
+ t.boolean :inbuilt, default: false
9
+
10
+ t.timestamps null: false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ class CreateSimpleAdminEntityFieldSettings < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :simple_admin_entity_field_settings do |t|
4
+ t.string :name
5
+ t.string :value
6
+
7
+ t.integer :entity_field_id, null: false
8
+
9
+ t.timestamps null: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateSimpleAdminEntityFieldTypes < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :simple_admin_entity_field_types do |t|
4
+ t.string :name
5
+ t.string :template
6
+
7
+ t.boolean :inbuilt, default: false
8
+
9
+ t.timestamps null: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,18 @@
1
+ class CreateSimpleAdminEntityFields < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :simple_admin_entity_fields do |t|
4
+ t.string :name
5
+ t.string :label
6
+
7
+ t.integer :entity_field_type_id, null: false
8
+ t.integer :entity_id, null: false
9
+
10
+ t.integer :presentation
11
+ t.integer :sort_order, default: 0
12
+
13
+ t.boolean :search_indexable, default: false
14
+
15
+ t.timestamps null: false
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,24 @@
1
+ module SimpleAdmin
2
+ class User < Base
3
+ has_one :profile, dependent: :destroy
4
+
5
+ has_many :posts
6
+ has_many :comments
7
+
8
+ accepts_nested_attributes_for :profile, update_only: true
9
+ delegate :avatar, :first_name, :last_name, to: :profile, allow_nil: true
10
+
11
+ after_create :create_profile!
12
+
13
+ def full_name
14
+ "#{first_name} #{last_name}"
15
+ end
16
+
17
+ private
18
+
19
+ def create_profile!
20
+ profile = build_profile
21
+ profile.save
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,46 @@
1
+ <div class="bg-white pulldown">
2
+ <div class="content content-boxed overflow-hidden">
3
+ <div class="row">
4
+ <div class="col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4">
5
+ <div class="push-30-t push-20 animated fadeIn">
6
+ <div class="text-center">
7
+ <h1 class="h3 push-10-t">Create Account</h1>
8
+ </div>
9
+ <%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { class: 'js-validation-register form-horizontal push-50-t push-50' }) do |f| %>
10
+ <div class="form-group">
11
+ <div class="col-xs-12">
12
+ <div class="form-material form-material-success">
13
+ <%= f.email_field :email, autofocus: true, class: 'form-control' %>
14
+ <%= f.label :email %>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ <div class="form-group">
19
+ <div class="col-xs-12">
20
+ <div class="form-material form-material-success">
21
+ <%= f.password_field :password, autocomplete: "off", class: 'form-control' %>
22
+ <%= f.label :password %>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <div class="form-group">
27
+ <div class="col-xs-12">
28
+ <div class="form-material form-material-success">
29
+ <%= f.password_field :password_confirmation, autocomplete: "off", class: 'form-control' %>
30
+ <%= f.label :password_confirmation %>
31
+ </div>
32
+ </div>
33
+ </div>
34
+ <div class="form-group">
35
+ <div class="col-xs-12 col-sm-6 col-sm-offset-3">
36
+ <%= f.submit "Sign up", class: 'btn btn-sm btn-block btn-success' %>
37
+ </div>
38
+ </div>
39
+ <% end %>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </div>
45
+
46
+ <%= render 'devise/shared/footer' %>
@@ -0,0 +1,35 @@
1
+ <div class="bg-white pulldown">
2
+ <div class="content content-boxed overflow-hidden">
3
+ <div class="row">
4
+ <div class="col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4">
5
+ <div class="push-30-t push-50 animated fadeIn">
6
+ <%= form_for(resource, as: resource_name, url: session_path(resource_name), html: { class: 'js-validation-login form-horizontal push-30-t' }) do |f| %>
7
+ <div class="form-group">
8
+ <div class="col-xs-12">
9
+ <div class="form-material form-material-primary floating">
10
+ <%= f.email_field :email, autofocus: true, class: 'form-control' %>
11
+ <%= f.label :email %>
12
+ </div>
13
+ </div>
14
+ </div>
15
+ <div class="form-group">
16
+ <div class="col-xs-12">
17
+ <div class="form-material form-material-primary floating">
18
+ <%= f.password_field :password, autocomplete: "off", class: 'form-control' %>
19
+ <%= f.label :password %>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ <div class="form-group push-30-t">
24
+ <div class="col-xs-12 col-sm-6 col-sm-offset-3 col-md-4 col-md-offset-4">
25
+ <%= f.submit "Log in", class: 'btn btn-sm btn-block btn-primary' %>
26
+ </div>
27
+ </div>
28
+ <% end %>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </div>
34
+
35
+ <%= render 'devise/shared/footer' %>
@@ -0,0 +1,3 @@
1
+ <div class="pulldown push-30-t text-center animated fadeInUp">
2
+ <small class="text-muted"><span class="js-year-copy">2017</span> © Simple Admin <%= SimpleAdmin::VERSION %></small>
3
+ </div>
@@ -0,0 +1,39 @@
1
+ require 'simple_admin/version'
2
+ require 'simple_admin/engine'
3
+
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
+ end
@@ -0,0 +1,19 @@
1
+ require 'singleton'
2
+
3
+ module SimpleAdmin
4
+ class Config
5
+ include Singleton
6
+
7
+ attr_accessor :per_page
8
+
9
+ class << self
10
+ def setup
11
+ yield(instance)
12
+ end
13
+
14
+ def per_page
15
+ instance.per_page
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ require 'kaminari'
2
+
3
+ require 'bootstrap-sass'
4
+ require 'jquery-ui-rails'
5
+
6
+ module SimpleAdmin
7
+ class Engine < Rails::Engine
8
+ initializer 'simple_admin.precompile', group: :all do |app|
9
+ app.config.assets.precompile += [
10
+ 'simple_admin/application.css',
11
+ 'simple_admin/application.js'
12
+ ]
13
+ end
14
+ end
15
+ end