Moving away from -able suffixes toward nouns, roles (-er), and past participles (-ed) — inspired by fizzy's naming conventions.
| Current | Suggested | Rationale |
|---|---|---|
Agreeable |
Agreements |
Manages has_many :agreements — noun for the thing it manages (and "agreeable" means pleasant, not "has agreements") |
Exportable |
Exporter |
User performs exports — agent noun like fizzy's Searcher/Watcher |
ExternallyIdentifiable |
ExternalIdentity |
Syncs with WorkOS identity provider — noun for what it represents |
HubspotSyncable |
HubspotSync |
Syncs contacts to HubSpot — noun for the process |
Identifiable |
Identity |
Core identity: name, email, guest?, initials, emoji IDs, merge — noun like fizzy's Avatar |
Inviteable |
Invitations |
Accepts pending WorkOS invitations — noun for what it manages |
Migratable |
Migration |
Tracks platform migration status — noun for the thing |
Joinable |
JoinCode |
Generates/validates join codes — specific noun for what it actually does |
Organizable |
Membership |
Org/team memberships + expunge/anonymize — noun for the core association |
Presentable |
Presenter |
Has polls, questions, activations as presenter — role noun like fizzy's Assignee |
ScreenNameable |
ScreenNames |
Finds/creates screen names — plural noun |
TimeZoneable |
TimeZone |
Sets/guesses time zone — noun for the attribute it manages |
Workspaceable |
Workspace |
Finds workspace for an org — already noun-shaped in spirit |
ZendeskEnrichable |
ZendeskEnrichment |
Enriches Zendesk tickets — noun for the process |
Auditable |
Audited |
Past participle like fizzy's Named/Timelined (shared concern, so debatable) |
include Agreements, Discard::Model, Exporter, ExternalIdentity,
HubspotSync, Identity, Invitations, Migration, JoinCode, Membership, Presenter,
ScreenNames, TimeZone, Workspace, ZendeskEnrichment
include Audited