Class: Uniword::Review::AcceptReject
- Inherits:
-
Object
- Object
- Uniword::Review::AcceptReject
- Defined in:
- lib/uniword/review/accept_reject.rb
Overview
Handles individual revision accept/reject operations.
Each revision type has specific semantics:
-
Accept insert: remove w:ins wrapper, keep content
-
Accept delete: remove w:del wrapper AND content
-
Reject insert: remove w:ins wrapper AND content
-
Reject delete: remove w:del wrapper, restore content
-
Reject format change: restore old properties
Instance Method Summary collapse
-
#accept(revision) ⇒ Boolean
Accept a single revision by incorporating it into the document.
-
#reject(revision) ⇒ Boolean
Reject a single revision by reverting its effect.
Instance Method Details
#accept(revision) ⇒ Boolean
Accept a single revision by incorporating it into the document.
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/uniword/review/accept_reject.rb', line 21 def accept(revision) case revision.type when :insert accept_insert(revision) when :delete accept_delete(revision) when :format_change accept_format_change(revision) else raise ArgumentError, "Unknown revision type: #{revision.type}" end end |
#reject(revision) ⇒ Boolean
Reject a single revision by reverting its effect.
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/uniword/review/accept_reject.rb', line 40 def reject(revision) case revision.type when :insert reject_insert(revision) when :delete reject_delete(revision) when :format_change reject_format_change(revision) else raise ArgumentError, "Unknown revision type: #{revision.type}" end end |