compiler_activerecordenum.md
October 30, 2025 ยท View on GitHub
ActiveRecordEnum
Tapioca::Dsl::Compilers::ActiveRecordEnum decorates RBI files for subclasses of
ActiveRecord::Base which declare enum fields.
For example, with the following ActiveRecord::Base subclass:
class Post < ApplicationRecord
enum :title_type, %i(book all web), suffix: :title
end
this compiler will produce the RBI file post.rbi with the following content:
# post.rbi
# typed: true
class Post
include EnumMethodsModule
module EnumMethodsModule
sig { void }
def all_title!; end
sig { returns(T::Boolean) }
def all_title?; end
sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
def self.title_types; end
sig { void }
def book_title!; end
sig { returns(T::Boolean) }
def book_title?; end
sig { void }
def web_title!; end
sig { returns(T::Boolean) }
def web_title?; end
end
end