This is our server repository. It contains the rails application for Kitsu.
Check out the meta, client and api docs repositories.
This README outlines the details of collaborating on this application.
- Ruby
- Rails - - Amendments
These amendments are listed below, though we may forget some. Rubocop will help
you, and we have a .rubocop.yml
which we develop with.
-
Group macro-style methods at the beginning of the class definition, in the following order:
class User < ActiveRecord::Base # put the default scope at the top default_scope { includes(:favorites) } # then the constants COLORS = %w[red green blue] # then named scopes scope(:banned) { where(banned: true) } # then any mixin-style "acts_as_*" and similar methods acts_as_sortable devise :database_authenticable, :registerable, :recoverable, :validatable, :confirmable # then field-type macros such as enum or has_attached_file enum rating_system: %i[smilies stars] has_attached_file :avatar # then associations has_many :library_entries # then validation validates :email, presence: true validates name, presence: true # and then callbacks before_save :do_the_thing # ... and finally the rest of the methods! end