Module: Synthra::CommonMixins
- Defined in:
- lib/synthra/mixin.rb
Overview
Common mixins that come pre-registered
Class Method Summary collapse
Class Method Details
.register_all! ⇒ Object
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/synthra/mixin.rb', line 144 def self.register_all! # Timestamps mixin Mixin::Registry.register("Timestamps", fields: [ Field.new(name: "created_at", type_name: "timestamp"), Field.new(name: "updated_at", type_name: "timestamp") ]) # Soft delete mixin Mixin::Registry.register("SoftDelete", fields: [ Field.new(name: "deleted_at?", type_name: "timestamp?") ]) # Auditable mixin Mixin::Registry.register("Auditable", fields: [ Field.new(name: "created_by?", type_name: "uuid"), Field.new(name: "updated_by?", type_name: "uuid") ]) # Sluggable mixin Mixin::Registry.register("Sluggable", fields: [ Field.new(name: "slug", type_name: "text") ]) # Publishable mixin Mixin::Registry.register("Publishable", fields: [ Field.new(name: "published_at?", type_name: "timestamp?"), Field.new(name: "published", type_name: "boolean") ]) end |