Provides a user guide for each page on admin for quick referencing & easier onboarding of admin users.
The user guide text lives in Rails.configuration.user_guides
. The entries are contextual, based on
controller_name and action_name. For instance, the entry for the orders#index
page is located at
Rails.configuration.user_guides[:orders][:index]
.
You can edit the existing definitions in an initializer. Similarly, you can also add new definitions this way.
# config/initializers/change_user_guide.rb
# Editing existing definitions
Rails.configuration.user_guides["orders"]["index"] = "Replacing old definitions"
# Adding new definitions
new_definitions = {"bah": {"humbug": "New definition"}}
Rails.configuration.user_guides.merge! new_definitions
Add solidus_user_guides to your Gemfile:
gem 'solidus_user_guides'
Bundle your dependencies and run the installation generator:
bundle
bundle exec rails g solidus_user_guides:install
First bundle your dependencies, then run bin/rake
. bin/rake
will default to building the dummy app if it does not exist, then it will run specs. The dummy app can be regenerated by using bin/rake extension:test_app
.
bundle
bin/rake
To run Rubocop static code analysis run
bundle exec rubocop
When testing your application's integration with this extension you may use its factories. Simply add this require statement to your spec_helper:
require 'solidus_user_guides/factories'
To run this extension in a sandboxed Solidus application you can run bin/sandbox
The path for the sandbox app is ./sandbox
and bin/rails
will forward any Rails command
to sandbox/bin/rails
.
Example:
$ bin/rails server
=> Booting Puma
=> Rails 6.0.2.1 application starting in development
* Listening on tcp://127.0.0.1:3000
Use Ctrl-C to stop
Your new extension version can be released using gem-release
like this:
bundle exec gem bump -v VERSION --tag --push --remote upstream && gem release
Copyright (c) 2020 [name of extension creator], released under the New BSD License