Yōshiki (様式)

Dev Fu! Style

rubygems build status

Because ruby code should be:

  • Readable.
  • Elegant.
  • Easily read by humans.
  • Approachable by newbs.
  • Clear to developers.
  • Profound to rubyists.

Make it so.

Usage

In your Gemfile:

gem 'yoshiki'

Just ruby (the only config that needs no extra plugins):

inherit_gem:
  yoshiki: .yoshiki-ruby.yml

RSpec — add the plugin, then inherit:

gem 'rubocop-rspec'
inherit_gem:
  yoshiki:
    - .yoshiki-ruby.yml
    - .yoshiki-rspec.yml

Minitest — add the plugin, then inherit:

gem 'rubocop-minitest'
inherit_gem:
  yoshiki:
    - .yoshiki-ruby.yml
    - .yoshiki-minitest.yml

Haml — add the plugin, then inherit:

gem 'rubocop-haml'
inherit_gem:
  yoshiki:
    - .yoshiki-ruby.yml # or .yoshiki-rails.yml
    - .yoshiki-haml.yml

Capybara — add the plugin, then inherit:

gem 'rubocop-capybara'
inherit_gem:
  yoshiki:
    - .yoshiki-ruby.yml
    - .yoshiki-capybara.yml

Rails — includes ruby style; add rubocop-rails (capybara and minitest optional):

gem 'rubocop-rails'
gem 'rubocop-capybara' # optional
gem 'rubocop-minitest' # optional
inherit_gem:
  yoshiki:
    - .yoshiki-rails.yml # includes .yoshiki-ruby.yml
    - .yoshiki-capybara.yml # optional
    - .yoshiki-minitest.yml # optional

Rails + RSpec — add the Rails + RSpec plugins (includes factory_bot and capybara), then one-line inherit:

gem 'rubocop-rails'
gem 'rubocop-capybara'
gem 'rubocop-factory_bot'
gem 'rubocop-rspec'
gem 'rubocop-rspec_rails'
inherit_gem:
  yoshiki: .yoshiki-rails-rspec.yml # ruby + rails + rspec + rspec_rails + factory_bot + capybara

(.yoshiki.yml is an alias for the same stack.)

Ruby compatibility