/solidus_user_guides

User Guides for Solidus Admin - quick reference & easy onboarding!

Primary LanguageRubyBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

SolidusUserGuides

Provides a user guide for each page on admin for quick referencing & easier onboarding of admin users.

Adding/Editing User Guides

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

Installation

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

Testing

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'

Sandbox app

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

Releasing

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