Archangel Development
This is documentation for developing the Archangel gem
Documentation for extension developers is available.
Documentation for theme developers is available.
Testing
Travis CI is used for running tests. To get the best possible overview of issues with different Ruby versions, Archangel is tested with multiple various of Ruby. See .travis.yml for the versions of Ruby tested.
Generate a dummy application. You will be required to generate a dummy application before running tests.
$ bundle exec rake dummy_app
Run tests with any of the following
$ bundle exec rake
$ bundle exec rake spec
$ bundle exec rake test
$ bundle exec rspec spec
You can also enable fail fast in order to stop tests at the first failure
$ bundle exec rspec spec --fail-fast
Code Analysis
Various tools are used to ensure code is linted and formatted correctly.
ESLint
eslint is a Javascript lint and style analyzer.
$ eslint .
NOTE: Integrations for multiple text editors and IDEs are also available.
Reek
Reek is a code smell detector for Ruby.
$ reek
NOTE: Integrations for multiple text editors and IDEs are also available.
RuboCop
RuboCop is a Ruby static code analyzer.
$ rubocop
Sass Lint
sass-lint is a Sass linter.
$ sass-lint -v
NOTE: Integrations for multiple text editors and IDEs are also available.
Security and Maintenance
Brakeman is a static analysis security vulnerability scanner. Brakeman issues are reported in Code Climate.
$ bundle exec brakeman
$ open brakeman.html
Cleanup
Remove all generated files
$ bundle exec rake clean
Documentation
Yard is used to generate documentation. Online documentation is available
Build the documentation
$ yard doc
Build the documentation and list all undocumented objects
$ yard stats --list-undoc
Inch documentation statistics can be generated
$ inch
Releasing
Documentation for maintainers to release a new gem version is available.