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
@@ -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