Rails/AddColumnIndex: Enabled: false # NOTE: cop works incorrectly with `Sequel` (sequel supports :index in add_column) Rails/ActionControllerTestCase: Enabled: true Rails/ActionFilter: Enabled: true EnforcedStyle: action Rails/ActiveRecordAliases: Enabled: true Rails/ActiveRecordCallbacksOrder: Enabled: true Include: - app/models/**/*.rb Rails/ActiveRecordOverride: Enabled: true Include: - app/models/**/*.rb Rails/EagerEvaluationLogMessage: Enabled: true Rails/ExpandedDateRange: Enabled: true Rails/UnusedIgnoredColumns: Enabled: false Rails/ActiveSupportAliases: Enabled: true Rails/AfterCommitOverride: Enabled: true Rails/ApplicationJob: Enabled: true Rails/ApplicationRecord: Enabled: true Rails/ApplicationController: Enabled: false Rails/ApplicationMailer: Enabled: false Rails/AttributeDefaultBlockValue: Enabled: true Rails/ArelStar: Enabled: true Rails/RequireDependency: Enabled: true # NOTE: `require_dependency` is obsolete when you use `Zeitwerk` Rails/ReversibleMigrationMethodDefinition: Enabled: true Rails/RakeEnvironment: Enabled: true AutoCorrect: true Rails/AssertNot: Enabled: true Rails/BelongsTo: Enabled: true Rails/Blank: Enabled: false Rails/BulkChangeTable: Enabled: true Database: postgresql Rails/CreateTableWithTimestamps: Enabled: false Rails/CompactBlank: Enabled: false Rails/ContentTag: Enabled: true Rails/DuplicateAssociation: Enabled: true Rails/DuplicateScope: Enabled: true Rails/DurationArithmetic: Enabled: false Rails/DeprecatedActiveModelErrorsMethods: Enabled: true Rails/Date: Enabled: true EnforcedStyle: flexible AllowToTime: true Rails/DefaultScope: Enabled: false Rails/Delegate: Enabled: false Rails/DelegateAllowBlank: Enabled: true Rails/DynamicFindBy: Enabled: true Whitelist: - find_by_sql AllowedMethods: - find_by_sql AllowedReceivers: - Gem::Specification Rails/EnumHash: Enabled: true Include: - app/models/**/*.rb Rails/EnvironmentVariableAccess: Enabled: false # TODO: think about it later AllowReads: true AllowWrites: false Rails/EnumUniqueness: Enabled: true Rails/EnvironmentComparison: Enabled: true Rails/Exit: Enabled: true Rails/FilePath: Enabled: true EnforcedStyle: arguments Rails/FindBy: Enabled: true IgnoreWhereFirst: true Rails/FindById: Enabled: true Rails/FindEach: Enabled: true Rails/HasAndBelongsToMany: Enabled: true Rails/HasManyOrHasOneDependent: Enabled: true Rails/HttpPositionalArguments: Enabled: true Rails/HttpStatus: Enabled: false Rails/I18nLocaleTexts: Enabled: false Rails/I18nLazyLookup: Enabled: false Rails/MigrationClassName: Enabled: true Rails/I18nLocaleAssignment: Enabled: false Rails/IgnoredSkipActionFilterOption: Enabled: true Rails/IndexBy: Enabled: true Rails/IndexWith: Enabled: true Rails/Inquiry: Enabled: false Rails/InverseOf: Enabled: true Rails/LexicallyScopedActionFilter: Enabled: true Rails/LinkToBlank: Enabled: true Rails/MailerName: Enabled: true # mailer views are mapped to the mailer class with Mailer postfix in the name of a class Rails/MatchRoute: Enabled: true Rails/NegateInclude: Enabled: true Rails/NotNullColumn: Enabled: true Rails/OrderById: Enabled: false Rails/Output: Enabled: true Rails/OutputSafety: Enabled: false Rails/Pick: Enabled: true Rails/Pluck: Enabled: true Rails/PluckId: Enabled: false Rails/PluckInWhere: Enabled: true EnforcedStyle: conservative Rails/PluralizationGrammar: Enabled: true Rails/Presence: Enabled: true Rails/Present: Enabled: true Rails/RootJoinChain: Enabled: true Rails/ReadWriteAttribute: Enabled: true Rails/RedundantAllowNil: Enabled: true Include: - app/models/**/*.rb Rails/RedundantPresenceValidationOnBelongsTo: Enabled: true Rails/RedundantForeignKey: Enabled: false Rails/RedundantReceiverInWithOptions: Enabled: true Rails/ReflectionClassName: Enabled: true Rails/RefuteMethods: Enabled: true EnforcedStyle: assert_not Include: - 'test/**/*' - 'spec/**/*' Rails/RelativeDateConstant: Enabled: true Rails/RenderInline: Enabled: false Rails/RenderPlainText: Enabled: true ContentTypeCompatibility: true Rails/RequestReferer: Enabled: true EnforcedStyle: referer Rails/ReversibleMigration: Enabled: true Rails/SafeNavigation: Enabled: true Rails/SafeNavigationWithBlank: Enabled: true Rails/SaveBang: Enabled: true AllowImplicitReturn: true Rails/ScopeArgs: Enabled: true Rails/SchemaComment: Enabled: false Rails/ShortI18n: Enabled: true EnforcedStyle: conservative Rails/SkipsModelValidations: Enabled: false Rails/SquishedSQLHeredocs: Enabled: true Rails/RedundantTravelBack: Enabled: false # NOTE: can affect the readability Rails/TableNameAssignment: Enabled: false Rails/TimeZone: Enabled: true EnforcedStyle: flexible Rails/TimeZoneAssignment: Enabled: false Rails/TransactionExitStatement: Enabled: true Rails/UniqBeforePluck: Enabled: true EnforcedStyle: conservative Rails/UniqueValidationWithoutIndex: Enabled: true Include: - app/models/**/*.rb Rails/UnknownEnv: Enabled: true Environments: - development - test - staging - production Rails/Validation: Enabled: true Rails/WhereEquals: Enabled: true Rails/WhereExists: Enabled: false EnforcedStyle: exists Rails/WhereNot: Enabled: false