Kazan
Kazan creates rails project and setups predefined gems and tools.
Installation
Install gem:
$ gem install kazan
Usage
By default this rails application generator uses PostgreSQL as db and RSpec as test framework. Also it installs and setups a lot usefull gems, and you don’t need waste time then you stat new project.
Just run:
$ kazan projectname
This generator maps all flags to rails native generator, for example you can create api application:
$ kazan projectname --api
See all gems that will be installed to project in Gemfile for web application or for api Gemfile.api.
Gems
It includes applications gems:
- Dotenv Shim to load environment variables from .env into ENV in development.
- I18n is central point to collect locale data for use in Ruby on Rails.
- MetaTags a gem to make your Rails application SEO-friendly. Gem is not generated if --api is selected.
- PostgreSQL database with PG adapter is used by defaul.
- Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications.
- Rack Timeout aborts requests that are taking too long; an exception is raised.
- Rails 5.2.0
- Rails Config helps you easily manage environment specific settings in an easy and usable manner.
- Rollbar error monitoring fits right into your continuous delivery and deployment workflows to provide confidence in every code release.
- Simple From [API EXCLUDED] aims to be as flexible as possible while helping you with powerful components to create your forms.
It includes assets gems [API EXCLUDED]:
- Normalize Css makes browsers render all elements more consistently and in line with modern standards. It precisely targets only the styles that need normalizing.
- Sass is the most mature, stable, and powerful professional grade CSS extension language in the world.
It includes development gems:
- Annotate adds a comment summarizing the current schema.
- Awesome Print prints pretty Ruby objects in full color exposing their internal structure with proper indentation.
- Better Errors [API EXCLUDED] replaces the standard Rails error page with a much better and more useful error page.
- Brakeman is an open source static analysis tool which checks Ruby on Rails applications for security vulnerabilities.
- ByeBug is a simple to use, feature rich debugger for Ruby 2.
- Bundler Audit is patch-level verification for bundler.
- Bullet is designed to help you increase your application’s performance by reducing the number of queries it makes.
- Foreman procfile-based applications.
- Letter Opener previews email in the default browser instead of sending it.
- Listen listens to file modifications and notifies you about the changes.
- Pry for interactively exploring objects.
- Rack Mini Profiler [API EXCLUDED] displays speed badge for every html page.
- Reek - code smell detector for Ruby.
- RuboCop is a Ruby static code analyzer. Out of the box it will enforce many of the guidelines outlined in the community Ruby Style Guide.
- scss-lint is a tool to help keep your SCSS files clean and readable by running it against a collection of configurable linter rules.
- Spring speeds up development by keeping your application running in the background.
- Web Console [API EXCLUDED] is a debugging tool for your Ruby on Rails applications.
It includes tests gems:
- Capybara [API EXCLUDED] helps you test web applications by simulating how a real user would interact with your app.
- Database Cleaner is a set of strategies for cleaning your database in Ruby.
- Factory Bot is a fixtures replacement with a straightforward definition syntax.
- Faker a port of Perl’s Data::Faker library that generates fake data.
- Formulaic [API EXCLUDED] the tedium of formulaic form filling with Capybara.
- I18n-Tasks [API EXCLUDED] Gem that helps manage locales and test if are there problems.
- I18n-Yaml-Sorter [API EXCLUDED] Sort all locales by keys.
- Launchy [API EXCLUDED] helper class for launching cross-platform applications in a fire and forget manner.
- Rspec is a testing framework for Rails.
- Simplecov is a code coverage analysis tool for Ruby.
- Shoulda Matchers provides RSpec- and Minitest-compatible one-liners that test common Rails functionality.
- Timecop providing “time travel” and “time freezing” capabilities, making it dead simple to test time-dependent code.
- Web Mock for stubbing and setting expectations on HTTP requests in Ruby.
Bonuses
- t() and l() in specs without prefixing with I18n.
- Low database connection pool limit.
- Rails’ flashes set up and in application layout.
- Rack::Deflater to compress responses with Gzip.
- Safe binstubs.
- Ready Seo controller with methods for generating files - robots.txt,
sitemap.xml.
License
The gem is available as open source under the terms of the MIT License.