Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extract an administrate:manifest generator #362

Merged
merged 1 commit into from Jan 8, 2016
Merged

Conversation

c-lliope
Copy link
Contributor

Closes #182.

Problem:

In established applications with many models,
there is no easy way to generate Administrate dashboards
for some but not all of the models.

Solution:

Add a generator for creating only an Administrate dashboard manifest.
Users can edit the manifest file to add or remove models,
and then run rails g administrate:install
to generate only the dashboards listed in the manifest.

If the user runs rails g administrate:install
without first generating a manifest file,
Administrate will automatically create a manifest
and use it to guide the installation.

Small Changes:

Stub out Rails.root in generators during tests.
Using Rails.root lets us more accurately generate files
when the Rails app is not at the root of the repository,
such as in the example app.

end

def create_resource_controller
template(
"controller.rb.erb",
"app/controllers/admin/#{file_name.pluralize}_controller.rb",
Rails.root.join("app/controllers/admin/#{file_name.pluralize}_controller.rb"),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line is too long. [88/80]

Problem:

In established applications with many models,
there is no easy way to generate Administrate dashboards
for some but not all of the models.

Solution:

Add a generator for creating only an Administrate dashboard manifest.
Users can edit the manifest file to add or remove models,
and then run `rails g administrate:install`
to generate only the dashboards listed in the manifest.

If the user runs `rails g administrate:install`
without first generating a manifest file,
Administrate will automatically create a manifest
and use it to guide the installation.

Small Changes:

- Stub out `Rails.root` in generators during tests.
  Using `Rails.root` lets us more accurately generate files
  when the Rails app is not at the root of the repository,
  such as in the example app.
@c-lliope c-lliope merged commit 5f44461 into master Jan 8, 2016
@c-lliope c-lliope deleted the gw-manifest-generator branch January 8, 2016 06:04
c-lliope added a commit that referenced this pull request Jan 22, 2016
Changes:

```
* [#269] [FEATURE] Add a generator for copying default layout files
* [#328] [FEATURE] Add a generator for copying default sidebar partial
* [#362] [FEATURE] Add a generator for only the dashboard manifest.
  Customizing this manifest before running the `administrate:install` generator
  will change which dashboards get generated.
* [#295] [FEATURE] Add dashboard detection for ActiveRecord::Enum fields.
* [#364] [FEATURE] Improve dashboard generator by explicitly listing out the
  generated `SHOW_PAGE_ATTRIBUTES` array elements.
* [#416] [UI] Add an accessibility label to the search input
* [#411] [UI] Use tabular figures in table cells
* [#409] [UI] Use default system fonts
* [#424] [BUGFIX] Fix a bug where running `rails destroy GENERATOR_NAME`
  would not work for several of the generators
* [#390] [BUGFIX] Fix timestamp deprecation warnings
* [#365] [COMPAT] Remove dependency on `inline_svg`
* [#396] [I18n] Ukrainian
* [#297] [I18n] Italian
* [#307] [I18n] Fix German grammatical errors
* [#363] [DOC] Move documentation into main repository, at the root URL
* [#395] [DOC] Update inline documentation for collection partial
* [#387] [DOC] Fix incorrect path for generators in the docs
```
@c-lliope c-lliope mentioned this pull request Jan 22, 2016
c-lliope added a commit that referenced this pull request Jan 22, 2016
Changes:

```
* [#269] [FEATURE] Add a generator for copying default layout files
* [#328] [FEATURE] Add a generator for copying default sidebar partial
* [#362] [FEATURE] Add a generator for only the dashboard manifest.
  Customizing this manifest before running the `administrate:install` generator
  will change which dashboards get generated.
* [#295] [FEATURE] Add dashboard detection for ActiveRecord::Enum fields.
* [#364] [FEATURE] Improve dashboard generator by explicitly listing out the
  generated `SHOW_PAGE_ATTRIBUTES` array elements.
* [#416] [UI] Add an accessibility label to the search input
* [#411] [UI] Use tabular figures in table cells
* [#409] [UI] Use default system fonts
* [#424] [BUGFIX] Fix a bug where running `rails destroy GENERATOR_NAME`
  would not work for several of the generators
* [#390] [BUGFIX] Fix timestamp deprecation warnings
* [#365] [COMPAT] Remove dependency on `inline_svg`
* [#396] [I18n] Ukrainian
* [#297] [I18n] Italian
* [#307] [I18n] Fix German grammatical errors
* [#363] [DOC] Move documentation into main repository, at the root URL
* [#395] [DOC] Update inline documentation for collection partial
* [#387] [DOC] Fix incorrect path for generators in the docs
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants