Class: HTM::Models::NodeTag
- Inherits:
-
Object
- Object
- HTM::Models::NodeTag
- Defined in:
- lib/htm/models/node_tag.rb
Overview
NodeTag model - join table for many-to-many relationship between nodes and tags
Instance Method Summary collapse
-
#before_create ⇒ Object
Hooks.
-
#deleted? ⇒ Boolean
Check if entry is soft-deleted.
-
#restore! ⇒ Boolean
Restore a soft-deleted entry.
-
#soft_delete! ⇒ Boolean
Soft delete - mark as deleted without removing from database.
-
#validate ⇒ Object
Validations.
Instance Method Details
#before_create ⇒ Object
Hooks
53 54 55 56 |
# File 'lib/htm/models/node_tag.rb', line 53 def before_create self.created_at ||= Time.now super end |
#deleted? ⇒ Boolean
Check if entry is soft-deleted
80 81 82 |
# File 'lib/htm/models/node_tag.rb', line 80 def deleted? !deleted_at.nil? end |
#restore! ⇒ Boolean
Restore a soft-deleted entry
71 72 73 74 |
# File 'lib/htm/models/node_tag.rb', line 71 def restore! update(deleted_at: nil) true end |
#soft_delete! ⇒ Boolean
Soft delete - mark as deleted without removing from database
62 63 64 65 |
# File 'lib/htm/models/node_tag.rb', line 62 def soft_delete! update(deleted_at: Time.now) true end |
#validate ⇒ Object
Validations
16 17 18 19 20 |
# File 'lib/htm/models/node_tag.rb', line 16 def validate super validates_presence %i[node_id tag_id] validates_unique %i[node_id tag_id], message: "already associated with this node" end |