This gem helps identify and manage features within large applications.
For usage documentation, please see the README Site.
FeatureMap may be installed directly into a Ruby environment or Ruby on Rails application from RubyGems.
Global Installation
gem install feature_map
Gemfile
`gem 'feature_map', '~> 1.2'``
Inline
FeatureMap may also be executed without direct installation via inline bundling. For more information see [Inline Execution]({{ '/getting-started/inline-execution' | relative_url }}).
Check out lib/feature_map.rb
to see the public API.
Check out feature_map_spec.rb
to see examples of how the feature map utility is used.
Contributions are welcome and appreciated. Here's how to get started:
- clone repo:
$ git clone git@github.com:Beyond-Finance/feature_map.git
- install dependencies:
$ bundle install
- run tests:
$ bin/rspec
- run Rubocop:
$ bin/rubocop
That's it! Assuming you can complete all of these steps without any error or issues, you should be good to go.
The documentation site is a React application which is built on the Vite framework. There are two steps to building the site: first, the skeleton of the site is compiled and committed into this repository; second, the various artifacts are injected from a host repository into a project-specific instance of the site via bin/featuremap docs.
Compilation of the build asset is done via npm run build
from within the docs folder. This compiles the React app into a single static file which is placed in ./lib/feature_map/private/docs/index.html.
The documentation site may be run locally to aid in development via bin/docs
. It will generate test coverage and metrics data, and make it available to the docs site running in development mode.
More information on the development of the documentation site may be found in the Docs Readme.
The README site is built with Jekyll and TailwindCSS and is hosted via GitHub Pages at: https://beyond-finance.github.io/feature_map. It can be run locally to aid in development via bin/readme
.
When a new version of the gem is ready to be published, please follow these steps:
- Update
spec.version
value in the feature_map.gemspec file.- Assign a version to this release in accordance with Semantic Versioning based on the changes contained in this release.
- Create a new release tag in Github (link) with a value that matches the new Gemspec version.
- Checkout the release tag in your local environment.
- Publish the new version of the gem to RubyGems (docs), which largely consists of running the following commands:
- Build a new version of the gem:
gem build feature_map.gemspec
- Authenticate with rubygems.org:
gem signin
- Publish the new version of the gem:
gem push feature_map-[NEW_VERSION].gem
- Build a new version of the gem:
The structure and execution of FeatureMap's initial version was based on the gem CodeOwnership.
The structure and styling of the README site was based on a theme from Spinal.