Class: Ace::Review::Molecules::FeedbackFileWriter
- Inherits:
-
Object
- Object
- Ace::Review::Molecules::FeedbackFileWriter
- Defined in:
- lib/ace/review/molecules/feedback_file_writer.rb
Overview
Writes FeedbackItem instances to disk as markdown files with YAML frontmatter.
Files are written atomically (temp file + rename) with file locking to ensure safe concurrent access.
Instance Method Summary collapse
-
#write(feedback_item, directory) ⇒ Hash
Write a FeedbackItem to disk.
Instance Method Details
#write(feedback_item, directory) ⇒ Hash
Write a FeedbackItem to disk
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/ace/review/molecules/feedback_file_writer.rb', line 27 def write(feedback_item, directory) validate_inputs(feedback_item, directory) filename = generate_filename(feedback_item) file_path = File.join(directory, filename) content = generate_content(feedback_item) write_atomic(file_path, content) rescue ArgumentError => e {success: false, error: e.} rescue SystemCallError, IOError => e {success: false, error: "Failed to write feedback file: #{e.}"} end |