0
0
Fork 0

annotate models (#2697)

* add annotate to Gemfile

* rails g annotate:install

* configure annotate_models

* add schema info to models

* fix rubocop to add frozen_string_literal
This commit is contained in:
yhirano 2017-05-02 09:14:47 +09:00 committed by Eugen Rochko
parent a4859446ab
commit 298796cc7b
23 changed files with 355 additions and 1 deletions

View file

@ -1,4 +1,42 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: accounts
#
# id :integer not null, primary key
# username :string default(""), not null
# domain :string
# secret :string default(""), not null
# private_key :text
# public_key :text default(""), not null
# remote_url :string default(""), not null
# salmon_url :string default(""), not null
# hub_url :string default(""), not null
# created_at :datetime not null
# updated_at :datetime not null
# note :text default(""), not null
# display_name :string default(""), not null
# uri :string default(""), not null
# url :string
# avatar_file_name :string
# avatar_content_type :string
# avatar_file_size :integer
# avatar_updated_at :datetime
# header_file_name :string
# header_content_type :string
# header_file_size :integer
# header_updated_at :datetime
# avatar_remote_url :string
# subscription_expires_at :datetime
# silenced :boolean default(FALSE), not null
# suspended :boolean default(FALSE), not null
# locked :boolean default(FALSE), not null
# header_remote_url :string default(""), not null
# statuses_count :integer default(0), not null
# followers_count :integer default(0), not null
# following_count :integer default(0), not null
# last_webfingered_at :datetime
#
class Account < ApplicationRecord
include Targetable

View file

@ -1,4 +1,14 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: blocks
#
# id :integer not null, primary key
# account_id :integer not null
# target_account_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
#
class Block < ApplicationRecord
include Paginable

View file

@ -1,4 +1,15 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: domain_blocks
#
# id :integer not null, primary key
# domain :string default(""), not null
# created_at :datetime not null
# updated_at :datetime not null
# severity :integer default("silence")
# reject_media :boolean
#
class DomainBlock < ApplicationRecord
enum severity: [:silence, :suspend]

View file

@ -1,4 +1,14 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: favourites
#
# id :integer not null, primary key
# account_id :integer not null
# status_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
#
class Favourite < ApplicationRecord
include Paginable

View file

@ -1,4 +1,14 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: follows
#
# id :integer not null, primary key
# account_id :integer not null
# target_account_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
#
class Follow < ApplicationRecord
include Paginable

View file

@ -1,4 +1,14 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: follow_requests
#
# id :integer not null, primary key
# account_id :integer not null
# target_account_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
#
class FollowRequest < ApplicationRecord
include Paginable

View file

@ -1,4 +1,19 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: imports
#
# id :integer not null, primary key
# account_id :integer not null
# type :integer not null
# approved :boolean
# created_at :datetime not null
# updated_at :datetime not null
# data_file_name :string
# data_content_type :string
# data_file_size :integer
# data_updated_at :datetime
#
class Import < ApplicationRecord
FILE_TYPES = ['text/plain', 'text/csv'].freeze

View file

@ -1,4 +1,22 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: media_attachments
#
# id :integer not null, primary key
# status_id :integer
# file_file_name :string
# file_content_type :string
# file_file_size :integer
# file_updated_at :datetime
# remote_url :string default(""), not null
# account_id :integer
# created_at :datetime not null
# updated_at :datetime not null
# shortcode :string
# type :integer default("image"), not null
# file_meta :json
#
class MediaAttachment < ApplicationRecord
self.inheritance_column = nil

View file

@ -1,4 +1,14 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: mentions
#
# id :integer not null, primary key
# account_id :integer
# status_id :integer
# created_at :datetime not null
# updated_at :datetime not null
#
class Mention < ApplicationRecord
belongs_to :account, inverse_of: :mentions, required: true

View file

@ -1,4 +1,14 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: mutes
#
# id :integer not null, primary key
# account_id :integer not null
# target_account_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
#
class Mute < ApplicationRecord
include Paginable

View file

@ -1,4 +1,16 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: notifications
#
# id :integer not null, primary key
# account_id :integer
# activity_id :integer
# activity_type :string
# created_at :datetime not null
# updated_at :datetime not null
# from_account_id :integer
#
class Notification < ApplicationRecord
include Paginable

View file

@ -1,4 +1,28 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: preview_cards
#
# id :integer not null, primary key
# status_id :integer
# url :string default(""), not null
# title :string
# description :string
# image_file_name :string
# image_content_type :string
# image_file_size :integer
# image_updated_at :datetime
# created_at :datetime not null
# updated_at :datetime not null
# type :integer default("link"), not null
# html :text default(""), not null
# author_name :string default(""), not null
# author_url :string default(""), not null
# provider_name :string default(""), not null
# provider_url :string default(""), not null
# width :integer default(0), not null
# height :integer default(0), not null
#
class PreviewCard < ApplicationRecord
IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif'].freeze

View file

@ -1,4 +1,18 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: reports
#
# id :integer not null, primary key
# account_id :integer not null
# target_account_id :integer not null
# status_ids :integer default([]), not null, is an Array
# comment :text default(""), not null
# action_taken :boolean default(FALSE), not null
# created_at :datetime not null
# updated_at :datetime not null
# action_taken_by_account_id :integer
#
class Report < ApplicationRecord
belongs_to :account

View file

@ -1,4 +1,16 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: settings
#
# id :integer not null, primary key
# var :string not null
# value :text
# thing_type :string
# thing_id :integer
# created_at :datetime
# updated_at :datetime
#
class Setting < RailsSettings::Base
source Rails.root.join('config/settings.yml')

View file

@ -1,4 +1,27 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: statuses
#
# id :integer not null, primary key
# uri :string
# account_id :integer not null
# text :text default(""), not null
# created_at :datetime not null
# updated_at :datetime not null
# in_reply_to_id :integer
# reblog_of_id :integer
# url :string
# sensitive :boolean default(FALSE)
# visibility :integer default("public"), not null
# in_reply_to_account_id :integer
# application_id :integer
# spoiler_text :text default(""), not null
# reply :boolean default(FALSE)
# favourites_count :integer default(0), not null
# reblogs_count :integer default(0), not null
# language :string default("en"), not null
#
class Status < ApplicationRecord
include Paginable

View file

@ -1,4 +1,16 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: stream_entries
#
# id :integer not null, primary key
# account_id :integer
# activity_id :integer
# activity_type :string
# created_at :datetime not null
# updated_at :datetime not null
# hidden :boolean default(FALSE), not null
#
class StreamEntry < ApplicationRecord
include Paginable

View file

@ -1,4 +1,18 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: subscriptions
#
# id :integer not null, primary key
# callback_url :string default(""), not null
# secret :string
# expires_at :datetime
# confirmed :boolean default(FALSE), not null
# account_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
# last_successful_delivery_at :datetime
#
class Subscription < ApplicationRecord
MIN_EXPIRATION = 3600 * 24 * 7

View file

@ -1,4 +1,13 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: tags
#
# id :integer not null, primary key
# name :string default(""), not null
# created_at :datetime not null
# updated_at :datetime not null
#
class Tag < ApplicationRecord
has_and_belongs_to_many :statuses

View file

@ -1,4 +1,37 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: users
#
# id :integer not null, primary key
# email :string default(""), not null
# account_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
# encrypted_password :string default(""), not null
# reset_password_token :string
# reset_password_sent_at :datetime
# remember_created_at :datetime
# sign_in_count :integer default(0), not null
# current_sign_in_at :datetime
# last_sign_in_at :datetime
# current_sign_in_ip :inet
# last_sign_in_ip :inet
# admin :boolean default(FALSE)
# confirmation_token :string
# confirmed_at :datetime
# confirmation_sent_at :datetime
# unconfirmed_email :string
# locale :string
# encrypted_otp_secret :string
# encrypted_otp_secret_iv :string
# encrypted_otp_secret_salt :string
# consumed_timestep :integer
# otp_required_for_login :boolean
# last_emailed_at :datetime
# otp_backup_codes :string is an Array
# allowed_languages :string default([]), not null, is an Array
#
class User < ApplicationRecord
include Settings::Extend

View file

@ -1,4 +1,14 @@
# frozen_string_literal: true
# == Schema Information
#
# Table name: web_settings
#
# id :integer not null, primary key
# user_id :integer
# data :json
# created_at :datetime not null
# updated_at :datetime not null
#
class Web::Setting < ApplicationRecord
belongs_to :user