trailblazer-wizard
A helper to aid you with generating blank Trailblazer concept files including: operations, contracts, finders, and representables.
Installation
Install the gem and add to the application's Gemfile by executing:
$ gem 'trailblazer-wizard'
If bundler is not being used to manage dependencies, install the gem by executing:
$ gem install trailblazer-wizard
Usage
All concept files are generated inside the app/concepts
directory.
To generate files, simply run this command:
$ wizard [--model] [--actions] [--only] [--except] [--context]
Argument | Type | Presence | Description |
---|---|---|---|
model | String | Required | The model. |
actions | Array | Required | The files' names. |
only | Array | Optional | Only the specified concept types. |
except | Array | Optional | Except the specified concept types. |
context | String | Optional | A directory to group concept files, nil by default. |
Allowed concept types are: operation | finder | form (meant for contracts) | view (meant for representables)
Example 1:
wizard --model=User --actions=create --only=operation,form
This command will generate:
app/concepts/user/operation/create.rb
app/concepts/user/form/create.rb
Example 2: with context
wizard --model=User --context=admin --actions=index --only=operation
Generates:
app/concepts/user/admin/operation/index.rb
Configuration
To change the base directory app/concepts
, or maybe pluralize concept directories, or even use alternative
concept type names... there is the possibility to apply these tweaks by creating an initializer:
# config/initializers/trailblazer_wizard.rb
TrailblazerWizard.configure do |config|
config.base_directory = "example/example"
config.puralize = true
config.alt_types = {
form: :contract,
view: 'representable'
}
end
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/aredda/trailblazer-wizard. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Wizard project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.