Skip to content

hummingbird-me/kitsu-server

Kitsu Server

Kitsu Test Suite Kitsu API Deployment Code Climate Test Coverage


This is our server repository. It contains the rails application for Kitsu.
Check out the tools, web, mobile and api docs repositories.


This README outlines the details of collaborating on this application.

Styleguide

Styleguide 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.

Rails

ActiveRecord Models

  • 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 enums and associations
      enum rating_system: %i[smilies stars]
      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

Contributors