adminable 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +94 -33
  3. data/app/assets/javascripts/adminable/scripts.js +8 -5
  4. data/app/assets/stylesheets/adminable/application.scss +15 -0
  5. data/app/controllers/adminable/application_controller.rb +0 -3
  6. data/app/controllers/adminable/resources_controller.rb +49 -24
  7. data/app/models/concerns/adminable/resource_concern.rb +15 -0
  8. data/app/views/adminable/resources/_form.html.haml +5 -9
  9. data/app/views/adminable/resources/_search.html.haml +2 -2
  10. data/app/views/adminable/resources/edit.html.haml +1 -1
  11. data/app/views/adminable/resources/form/_belongs_to.html.haml +13 -3
  12. data/app/views/adminable/resources/form/_boolean.html.haml +5 -2
  13. data/app/views/adminable/resources/form/_date.html.haml +3 -0
  14. data/app/views/adminable/resources/form/_datetime.html.haml +3 -2
  15. data/app/views/adminable/resources/form/_decimal.html.haml +3 -2
  16. data/app/views/adminable/resources/form/_float.html.haml +3 -2
  17. data/app/views/adminable/resources/form/_has_many.html.haml +12 -8
  18. data/app/views/adminable/resources/form/_integer.html.haml +3 -2
  19. data/app/views/adminable/resources/form/_string.html.haml +3 -2
  20. data/app/views/adminable/resources/form/_text.html.haml +4 -2
  21. data/app/views/adminable/resources/form/_time.html.haml +3 -0
  22. data/app/views/adminable/resources/form/_timestamp.html.haml +3 -0
  23. data/app/views/adminable/resources/index.html.haml +12 -14
  24. data/app/views/adminable/resources/index/_belongs_to.html.haml +4 -5
  25. data/app/views/adminable/resources/index/_date.html.haml +2 -0
  26. data/app/views/adminable/resources/index/_has_many.html.haml +1 -2
  27. data/app/views/adminable/resources/index/_text.html.haml +1 -1
  28. data/app/views/adminable/resources/index/_time.html.haml +2 -0
  29. data/app/views/adminable/resources/index/_timestamp.html.haml +2 -0
  30. data/app/views/adminable/shared/_label.html.haml +6 -3
  31. data/app/views/layouts/adminable/application.html.haml +3 -4
  32. data/config/locales/adminable.en.yml +4 -1
  33. data/config/locales/adminable.ru.yml +21 -0
  34. data/config/routes.rb +1 -1
  35. data/lib/adminable.rb +9 -4
  36. data/lib/adminable/attributes/association.rb +7 -14
  37. data/lib/adminable/attributes/base.rb +36 -18
  38. data/lib/adminable/attributes/collection.rb +75 -36
  39. data/lib/adminable/attributes/types/belongs_to.rb +1 -3
  40. data/lib/adminable/attributes/types/date.rb +8 -0
  41. data/lib/adminable/attributes/types/has_many.rb +0 -6
  42. data/lib/adminable/attributes/types/time.rb +8 -0
  43. data/lib/adminable/attributes/types/timestamp.rb +8 -0
  44. data/lib/adminable/configuration.rb +7 -2
  45. data/lib/adminable/engine.rb +5 -1
  46. data/lib/adminable/errors.rb +7 -0
  47. data/lib/adminable/presenters/base_presenter.rb +11 -0
  48. data/lib/adminable/presenters/entries_presenter.rb +55 -0
  49. data/lib/adminable/presenters/entry_presenter.rb +68 -0
  50. data/lib/adminable/resource.rb +9 -15
  51. data/lib/adminable/version.rb +1 -1
  52. data/lib/generators/adminable/install/templates/application_controller.rb +2 -0
  53. data/lib/generators/adminable/install_generator.rb +27 -0
  54. data/lib/generators/{cms → adminable}/resource/templates/resource_controller.rb.erb +0 -0
  55. data/lib/generators/{cms → adminable}/resource_generator.rb +0 -0
  56. metadata +77 -33
  57. data/lib/adminable/extensions/devise.rb +0 -24
@@ -2,10 +2,8 @@ module Adminable
2
2
  module Attributes
3
3
  module Types
4
4
  class BelongsTo < Base
5
- include Adminable::Attributes::Association
6
-
7
5
  def key
8
- @association.foreign_key
6
+ @association.reflection.foreign_key
9
7
  end
10
8
  end
11
9
  end
@@ -0,0 +1,8 @@
1
+ module Adminable
2
+ module Attributes
3
+ module Types
4
+ class Date < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -2,8 +2,6 @@ module Adminable
2
2
  module Attributes
3
3
  module Types
4
4
  class HasMany < Base
5
- include Adminable::Attributes::Association
6
-
7
5
  def key
8
6
  @key = "#{@name.to_s.singularize}_ids"
9
7
  end
@@ -11,10 +9,6 @@ module Adminable
11
9
  def strong_parameter
12
10
  { key => [] }
13
11
  end
14
-
15
- def show?
16
- @association.klass.any?
17
- end
18
12
  end
19
13
  end
20
14
  end
@@ -0,0 +1,8 @@
1
+ module Adminable
2
+ module Attributes
3
+ module Types
4
+ class Time < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module Adminable
2
+ module Attributes
3
+ module Types
4
+ class Timestamp < Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -1,9 +1,13 @@
1
1
  module Adminable
2
2
  module Configuration
3
+ # Finds all controllers from `app/controllers/adminable` directory
4
+ # @return [Array] of {Adminable::Resource} objects
3
5
  def self.resources
4
- @resources ||= resources_paths.map do |resource_path|
6
+ resources_paths.map do |resource_path|
5
7
  Adminable::Resource.new(
6
- resource_path.to_s.split('adminable/').last.sub(/_controller\.rb$/, '')
8
+ resource_path.to_s.split('adminable/').last.sub(
9
+ /_controller\.rb$/, ''
10
+ )
7
11
  )
8
12
  end
9
13
  end
@@ -14,6 +18,7 @@ module Adminable
14
18
 
15
19
  def self.resources_paths
16
20
  Dir[Rails.root.join('app/controllers/adminable/**/*_controller.rb')]
21
+ .reject { |f| f['app/controllers/adminable/application_controller.rb'] }
17
22
  end
18
23
  end
19
24
  end
@@ -3,7 +3,11 @@ module Adminable
3
3
  isolate_namespace Adminable
4
4
 
5
5
  ActionDispatch::Reloader.to_prepare do
6
- require_dependency Adminable::Engine.root.join('app/controllers/adminable/resources_controller.rb')
6
+ require_dependency(
7
+ Adminable::Engine.root.join(
8
+ 'app/controllers/adminable/resources_controller.rb'
9
+ )
10
+ )
7
11
  end
8
12
  end
9
13
  end
@@ -0,0 +1,7 @@
1
+ module Adminable
2
+ class AttributeNotImplemented < StandardError
3
+ end
4
+
5
+ class AttributeNotFound < StandardError
6
+ end
7
+ end
@@ -0,0 +1,11 @@
1
+ module Adminable
2
+ class BasePresenter
3
+ include Adminable::Engine.routes.url_helpers
4
+
5
+ private
6
+
7
+ def view
8
+ ActionController::Base.helpers
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,55 @@
1
+ module Adminable
2
+ class EntriesPresenter < BasePresenter
3
+ ENTRIES_LIMIT = 5
4
+
5
+ include Enumerable
6
+ extend Forwardable
7
+
8
+ def_delegators :@collection, :each, :first, :last, :empty?
9
+ def_delegators(
10
+ *%i(
11
+ @relation
12
+ current_page
13
+ total_pages
14
+ limit_value
15
+ entry_name
16
+ total_count
17
+ offset_value
18
+ last_page?
19
+ )
20
+ )
21
+
22
+ def initialize(relation)
23
+ @relation = relation
24
+ @collection = relation.all.map do |entry|
25
+ Adminable::EntryPresenter.new(entry)
26
+ end
27
+ end
28
+
29
+ def to_s
30
+ string = collection.first(ENTRIES_LIMIT).map do |entry|
31
+ view.link_to(entry.to_name, edit_polymorphic_path(entry))
32
+ end
33
+
34
+ string << and_more_tag if collection_size_residue > 0
35
+
36
+ string.join(', ').html_safe
37
+ end
38
+
39
+ private
40
+
41
+ attr_accessor :relation, :collection
42
+
43
+ def collection_size_residue
44
+ @collection_residue ||= collection.size - ENTRIES_LIMIT
45
+ end
46
+
47
+ def and_more_tag
48
+ view.content_tag(
49
+ :span,
50
+ I18n.t('adminable.ui.and_more', size: collection_size_residue),
51
+ class: 'text-muted'
52
+ )
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,68 @@
1
+ module Adminable
2
+ class EntryPresenter < BasePresenter
3
+ def initialize(entry)
4
+ @entry = entry
5
+ end
6
+
7
+ def to_name
8
+ %i(name title email login id).each do |method_name|
9
+ begin
10
+ return entry.public_send(method_name)
11
+ rescue NoMethodError
12
+ next
13
+ end
14
+ end
15
+ end
16
+
17
+ def link_to_self
18
+ view.link_to(
19
+ to_name,
20
+ edit_polymorphic_path(entry)
21
+ )
22
+ end
23
+
24
+ def link_to_delete
25
+ view.link_to(
26
+ I18n.t('adminable.buttons.delete'),
27
+ polymorphic_path(@entry),
28
+ class: 'btn btn-danger-outline pull-xs-right',
29
+ method: :delete,
30
+ data: {
31
+ confirm: I18n.t('adminable.ui.confirm')
32
+ }
33
+ )
34
+ end
35
+
36
+ def link_to_edit_small
37
+ view.link_to(
38
+ I18n.t('adminable.buttons.edit'),
39
+ edit_polymorphic_path(entry),
40
+ class: 'label label-primary'
41
+ )
42
+ end
43
+
44
+ def link_to_delete_small
45
+ view.link_to(
46
+ I18n.t('adminable.buttons.delete'),
47
+ polymorphic_path(entry),
48
+ class: 'label label-danger',
49
+ method: :delete,
50
+ data: {
51
+ confirm: I18n.t('adminable.ui.confirm')
52
+ }
53
+ )
54
+ end
55
+
56
+ def method_missing(method_name, *args, &block)
57
+ entry.public_send(method_name, *args) { block if block_given? }
58
+ end
59
+
60
+ def respond_to_missing?(method_name, *)
61
+ entry.respond_to?(method_name)
62
+ end
63
+
64
+ private
65
+
66
+ attr_accessor :entry
67
+ end
68
+ end
@@ -3,35 +3,29 @@ module Adminable
3
3
  attr_reader :name, :model
4
4
  attr_writer :attributes
5
5
 
6
+ # @param name [String] resource name, usually same as the model name
6
7
  def initialize(name)
7
8
  @name = name
8
9
  @model = name.classify.constantize
9
-
10
- load_extensions
11
10
  end
12
11
 
12
+ # @return [String] for route helper name
13
13
  def route
14
14
  @route ||= @model.name.underscore.pluralize.tr('/', '_')
15
15
  end
16
16
 
17
+ # @return [Array] of associations names for ActiveRecord queries
17
18
  def includes
18
- @includes ||= if attributes.association.present?
19
- attributes.association.map { |k, v| v.name }
20
- else
21
- false
22
- end
19
+ @includes ||= if attributes.associations.present?
20
+ attributes.associations.map(&:name)
21
+ else
22
+ false
23
+ end
23
24
  end
24
25
 
26
+ # @return [Array] collection, see {Adminable::Attributes::Collection}
25
27
  def attributes
26
28
  @attributes ||= Adminable::Attributes::Collection.new(@model)
27
29
  end
28
-
29
- private
30
-
31
- def load_extensions
32
- if @model.method_defined?(:devise_modules)
33
- attributes.extend(Adminable::Extensions::Devise)
34
- end
35
- end
36
30
  end
37
31
  end
@@ -1,3 +1,3 @@
1
1
  module Adminable
2
- VERSION = '0.0.1'.freeze
2
+ VERSION = '0.0.2'.freeze
3
3
  end
@@ -0,0 +1,2 @@
1
+ class Adminable::ApplicationController < ActionController::Base
2
+ end
@@ -0,0 +1,27 @@
1
+ require 'rails/generators/base'
2
+
3
+ module Adminable
4
+ module Generators
5
+ class InstallGenerator < Rails::Generators::Base
6
+ source_root File.expand_path('../install/templates', __FILE__)
7
+
8
+ def create_controller
9
+ template(
10
+ 'application_controller.rb',
11
+ 'app/controllers/adminable/application_controller.rb'
12
+ )
13
+ end
14
+
15
+ def mount_engine
16
+ insert_into_file(
17
+ "#{Rails.root}/config/routes.rb",
18
+ after: /routes.draw.do\n/
19
+ ) do
20
+ %( mount Adminable::Engine, at: '/adminable'
21
+
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adminable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Novikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-31 00:00:00.000000000 Z
11
+ date: 2016-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -64,14 +64,14 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 4.0.4
67
+ version: 4.1.1
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 4.0.4
74
+ version: 4.1.1
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: bootstrap
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -115,41 +115,41 @@ dependencies:
115
115
  - !ruby/object:Gem::Version
116
116
  version: 1.6.1
117
117
  - !ruby/object:Gem::Dependency
118
- name: coffee-rails
118
+ name: kaminari
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: 4.1.1
123
+ version: 0.16.2
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: 4.1.1
130
+ version: 0.16.2
131
131
  - !ruby/object:Gem::Dependency
132
- name: babosa
132
+ name: ransack
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
135
+ - - ">="
136
136
  - !ruby/object:Gem::Version
137
- version: 1.0.2
137
+ version: 1.7.0
138
138
  type: :runtime
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - "~>"
142
+ - - ">="
143
143
  - !ruby/object:Gem::Version
144
- version: 1.0.2
144
+ version: 1.7.0
145
145
  - !ruby/object:Gem::Dependency
146
- name: kaminari
146
+ name: sqlite3
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - ">="
150
150
  - !ruby/object:Gem::Version
151
151
  version: '0'
152
- type: :runtime
152
+ type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
@@ -157,21 +157,35 @@ dependencies:
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
159
  - !ruby/object:Gem::Dependency
160
- name: ransack
160
+ name: rspec-rails
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - ">="
164
164
  - !ruby/object:Gem::Version
165
- version: 1.7.0
166
- type: :runtime
165
+ version: '0'
166
+ type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - ">="
171
171
  - !ruby/object:Gem::Version
172
- version: 1.7.0
172
+ version: '0'
173
173
  - !ruby/object:Gem::Dependency
174
- name: sqlite3
174
+ name: capybara
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: 2.7.0
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: 2.7.0
187
+ - !ruby/object:Gem::Dependency
188
+ name: factory_girl_rails
175
189
  requirement: !ruby/object:Gem::Requirement
176
190
  requirements:
177
191
  - - ">="
@@ -185,7 +199,7 @@ dependencies:
185
199
  - !ruby/object:Gem::Version
186
200
  version: '0'
187
201
  - !ruby/object:Gem::Dependency
188
- name: rspec-rails
202
+ name: database_cleaner
189
203
  requirement: !ruby/object:Gem::Requirement
190
204
  requirements:
191
205
  - - ">="
@@ -199,21 +213,21 @@ dependencies:
199
213
  - !ruby/object:Gem::Version
200
214
  version: '0'
201
215
  - !ruby/object:Gem::Dependency
202
- name: capybara
216
+ name: byebug
203
217
  requirement: !ruby/object:Gem::Requirement
204
218
  requirements:
205
- - - "~>"
219
+ - - ">="
206
220
  - !ruby/object:Gem::Version
207
- version: 2.6.2
221
+ version: '0'
208
222
  type: :development
209
223
  prerelease: false
210
224
  version_requirements: !ruby/object:Gem::Requirement
211
225
  requirements:
212
- - - "~>"
226
+ - - ">="
213
227
  - !ruby/object:Gem::Version
214
- version: 2.6.2
228
+ version: '0'
215
229
  - !ruby/object:Gem::Dependency
216
- name: factory_girl_rails
230
+ name: rubocop
217
231
  requirement: !ruby/object:Gem::Requirement
218
232
  requirements:
219
233
  - - ">="
@@ -227,7 +241,7 @@ dependencies:
227
241
  - !ruby/object:Gem::Version
228
242
  version: '0'
229
243
  - !ruby/object:Gem::Dependency
230
- name: database_cleaner
244
+ name: reek
231
245
  requirement: !ruby/object:Gem::Requirement
232
246
  requirements:
233
247
  - - ">="
@@ -241,7 +255,7 @@ dependencies:
241
255
  - !ruby/object:Gem::Version
242
256
  version: '0'
243
257
  - !ruby/object:Gem::Dependency
244
- name: byebug
258
+ name: devise
245
259
  requirement: !ruby/object:Gem::Requirement
246
260
  requirements:
247
261
  - - ">="
@@ -255,7 +269,7 @@ dependencies:
255
269
  - !ruby/object:Gem::Version
256
270
  version: '0'
257
271
  - !ruby/object:Gem::Dependency
258
- name: rubocop
272
+ name: codeclimate-test-reporter
259
273
  requirement: !ruby/object:Gem::Requirement
260
274
  requirements:
261
275
  - - ">="
@@ -269,7 +283,21 @@ dependencies:
269
283
  - !ruby/object:Gem::Version
270
284
  version: '0'
271
285
  - !ruby/object:Gem::Dependency
272
- name: devise
286
+ name: yard
287
+ requirement: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - ">="
290
+ - !ruby/object:Gem::Version
291
+ version: '0'
292
+ type: :development
293
+ prerelease: false
294
+ version_requirements: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
299
+ - !ruby/object:Gem::Dependency
300
+ name: rack-mini-profiler
273
301
  requirement: !ruby/object:Gem::Requirement
274
302
  requirements:
275
303
  - - ">="
@@ -298,6 +326,7 @@ files:
298
326
  - app/controllers/adminable/application_controller.rb
299
327
  - app/controllers/adminable/resources_controller.rb
300
328
  - app/helpers/adminable/application_helper.rb
329
+ - app/models/concerns/adminable/resource_concern.rb
301
330
  - app/views/adminable/kaminari/_first_page.html.haml
302
331
  - app/views/adminable/kaminari/_last_page.html.haml
303
332
  - app/views/adminable/kaminari/_next_page.html.haml
@@ -309,6 +338,7 @@ files:
309
338
  - app/views/adminable/resources/edit.html.haml
310
339
  - app/views/adminable/resources/form/_belongs_to.html.haml
311
340
  - app/views/adminable/resources/form/_boolean.html.haml
341
+ - app/views/adminable/resources/form/_date.html.haml
312
342
  - app/views/adminable/resources/form/_datetime.html.haml
313
343
  - app/views/adminable/resources/form/_decimal.html.haml
314
344
  - app/views/adminable/resources/form/_float.html.haml
@@ -316,9 +346,12 @@ files:
316
346
  - app/views/adminable/resources/form/_integer.html.haml
317
347
  - app/views/adminable/resources/form/_string.html.haml
318
348
  - app/views/adminable/resources/form/_text.html.haml
349
+ - app/views/adminable/resources/form/_time.html.haml
350
+ - app/views/adminable/resources/form/_timestamp.html.haml
319
351
  - app/views/adminable/resources/index.html.haml
320
352
  - app/views/adminable/resources/index/_belongs_to.html.haml
321
353
  - app/views/adminable/resources/index/_boolean.html.haml
354
+ - app/views/adminable/resources/index/_date.html.haml
322
355
  - app/views/adminable/resources/index/_datetime.html.haml
323
356
  - app/views/adminable/resources/index/_decimal.html.haml
324
357
  - app/views/adminable/resources/index/_float.html.haml
@@ -326,12 +359,15 @@ files:
326
359
  - app/views/adminable/resources/index/_integer.html.haml
327
360
  - app/views/adminable/resources/index/_string.html.haml
328
361
  - app/views/adminable/resources/index/_text.html.haml
362
+ - app/views/adminable/resources/index/_time.html.haml
363
+ - app/views/adminable/resources/index/_timestamp.html.haml
329
364
  - app/views/adminable/resources/new.html.haml
330
365
  - app/views/adminable/shared/_alert.html.haml
331
366
  - app/views/adminable/shared/_label.html.haml
332
367
  - app/views/layouts/adminable/application.html.haml
333
368
  - config/initializers/haml.rb
334
369
  - config/locales/adminable.en.yml
370
+ - config/locales/adminable.ru.yml
335
371
  - config/routes.rb
336
372
  - lib/adminable.rb
337
373
  - lib/adminable/attributes/association.rb
@@ -339,6 +375,7 @@ files:
339
375
  - lib/adminable/attributes/collection.rb
340
376
  - lib/adminable/attributes/types/belongs_to.rb
341
377
  - lib/adminable/attributes/types/boolean.rb
378
+ - lib/adminable/attributes/types/date.rb
342
379
  - lib/adminable/attributes/types/datetime.rb
343
380
  - lib/adminable/attributes/types/decimal.rb
344
381
  - lib/adminable/attributes/types/float.rb
@@ -346,13 +383,20 @@ files:
346
383
  - lib/adminable/attributes/types/integer.rb
347
384
  - lib/adminable/attributes/types/string.rb
348
385
  - lib/adminable/attributes/types/text.rb
386
+ - lib/adminable/attributes/types/time.rb
387
+ - lib/adminable/attributes/types/timestamp.rb
349
388
  - lib/adminable/configuration.rb
350
389
  - lib/adminable/engine.rb
351
- - lib/adminable/extensions/devise.rb
390
+ - lib/adminable/errors.rb
391
+ - lib/adminable/presenters/base_presenter.rb
392
+ - lib/adminable/presenters/entries_presenter.rb
393
+ - lib/adminable/presenters/entry_presenter.rb
352
394
  - lib/adminable/resource.rb
353
395
  - lib/adminable/version.rb
354
- - lib/generators/cms/resource/templates/resource_controller.rb.erb
355
- - lib/generators/cms/resource_generator.rb
396
+ - lib/generators/adminable/install/templates/application_controller.rb
397
+ - lib/generators/adminable/install_generator.rb
398
+ - lib/generators/adminable/resource/templates/resource_controller.rb.erb
399
+ - lib/generators/adminable/resource_generator.rb
356
400
  homepage: https://github.com/droptheplot/adminable
357
401
  licenses:
358
402
  - MIT