simple-admin 0.2.0.pre.alpha → 1.0.0

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 (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
@@ -1,37 +0,0 @@
1
- en:
2
- activerecord:
3
- models:
4
- simple_admin/entity:
5
- one: Entity
6
- many: Entities
7
- simple_admin/entity_field_type:
8
- one: Field Type
9
- many: Field Types
10
- simple_admin:
11
- field_types_match:
12
- integer: :number
13
- decimal: :number
14
- date: :string
15
- datetime: :string
16
- system: System
17
- form_fields:
18
- empty: '* That page empty, because you need to define form fields'
19
- create: Create Entity Fields
20
- table:
21
- actions: Actions
22
- actions:
23
- confirm: Are you sure?
24
- logout: Log out
25
- resource:
26
- index:
27
- title: '%{resource_name}'
28
- new:
29
- title: 'New %{resource_name}'
30
- edit:
31
- title: 'Edit %{resource_name}'
32
- update:
33
- success: '%{resource_name} has been successfully updated!'
34
- create:
35
- success: '%{resource_name} has been successfully created!'
36
- destroy:
37
- success: '%{resource_name} has been successfully destroyed!'
@@ -1,20 +0,0 @@
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} был успешно удален!'
@@ -1,34 +0,0 @@
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_views
20
- if defined?(Devise)
21
- create_devise_views!
22
- end
23
- end
24
-
25
- private
26
-
27
- def create_devise_views!
28
- copy_file('views/devise/registrations/new.html.erb', 'app/views/devise/registrations/new.html.erb')
29
- copy_file('views/devise/sessions/new.html.erb', 'app/views/devise/sessions/new.html.erb')
30
- copy_file('views/devise/shared/_footer.html.erb', 'app/views/devise/shared/_footer.html.erb')
31
- end
32
- end
33
- end
34
- end
@@ -1,24 +0,0 @@
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
@@ -1,49 +0,0 @@
1
- require 'rails/generators/base'
2
-
3
- module SimpleAdmin
4
- module Generators
5
- class ModelEntitiesGenerator < Rails::Generators::NamedBase
6
- # Generate SimpleAdmin::Entity by transmitted model
7
- #
8
- # @example
9
- # rails generate simple_admin:model_entities Post
10
- #
11
- # @since 0.1.2-alpha
12
-
13
- source_root File.expand_path('../../templates', __FILE__)
14
-
15
- EXCLUSION_FIELDS = /\bid\b|created_at|updated_at/
16
-
17
- desc 'rails g simple_admin:model_entities Model'
18
-
19
- def generate
20
- entity = SimpleAdmin::Entity.find_or_create_by(model_klass_name: name)
21
-
22
- model_columns.each do |name, type|
23
- entity_field_type = SimpleAdmin::EntityFieldType.find_by!(name: fetch_field_type(type))
24
-
25
- entity.entity_fields.create(name: name, entity_field_type_id: entity_field_type.id, presentation: :collection)
26
- entity.entity_fields.create(name: name, entity_field_type_id: entity_field_type.id, presentation: :form)
27
- end
28
- end
29
-
30
- private
31
-
32
- def fetch_field_type(type)
33
- field_types = I18n.t('simple_admin.field_types_match')
34
- field_types[type] || type
35
- end
36
-
37
- def model_columns
38
- model_klass.columns.each_with_object({}) do |column, hash|
39
- next if column.name.match?(EXCLUSION_FIELDS)
40
- hash[column.name] = column.type
41
- end
42
- end
43
-
44
- def model_klass
45
- name.constantize
46
- end
47
- end
48
- end
49
- end
@@ -1,20 +0,0 @@
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
@@ -1,3 +0,0 @@
1
- SimpleAdmin::Config.setup do |config|
2
- config.per_page = 10
3
- end
@@ -1,12 +0,0 @@
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
@@ -1,13 +0,0 @@
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
@@ -1,12 +0,0 @@
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
@@ -1,12 +0,0 @@
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
@@ -1,18 +0,0 @@
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
@@ -1,46 +0,0 @@
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' %>
@@ -1,35 +0,0 @@
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' %>
@@ -1,3 +0,0 @@
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>
@@ -1,19 +0,0 @@
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
@@ -1,36 +0,0 @@
1
- module SimpleAdmin
2
- module Helpers
3
- module BooleanHelper
4
- extend ActiveSupport::Concern
5
-
6
- included do
7
- using Refinements::Boolean
8
-
9
- class << self
10
- def boolean_fields(*model_column_names)
11
- model_column_names.each do |column_name|
12
- build_humanized_method!(column_name)
13
- build_predicate_method!(column_name)
14
- end
15
- end
16
-
17
- private
18
-
19
- def build_humanized_method!(column_name)
20
- postfix = :humanized
21
-
22
- define_method "#{column_name}_#{postfix}" do
23
- public_send(column_name).humanize
24
- end
25
- end
26
-
27
- def build_predicate_method!(column_name)
28
- define_method "#{column_name}?" do
29
- public_send(column_name)
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,29 +0,0 @@
1
- module SimpleAdmin
2
- module Helpers
3
- module UrlHelper
4
- def resource_link(resource, method, namespace=:admin)
5
- singular_name = resource.class.model_name.element
6
- plural_name = singular_name.pluralize
7
-
8
- postfix = :path
9
-
10
- case method
11
- when :index
12
- resource_path = "#{namespace}_#{plural_name}_#{postfix}"
13
- when :new
14
- resource_path = "#{method}_#{namespace}_#{singular_name}_#{postfix}"
15
- when :create
16
- resource_path = "#{namespace}_#{plural_name}_#{postfix}"
17
- when :edit
18
- resource_path = "#{method}_#{namespace}_#{singular_name}_#{postfix}"
19
- when :update
20
- resource_path = "#{namespace}_#{singular_name}_#{postfix}"
21
- when :destroy
22
- resource_path = "#{namespace}_#{singular_name}_#{postfix}"
23
- end
24
-
25
- public_send(resource_path, resource)
26
- end
27
- end
28
- end
29
- end