Class: Ocak::RereadyProcessor
- Inherits:
-
Object
- Object
- Ocak::RereadyProcessor
- Includes:
- CommandRunner
- Defined in:
- lib/ocak/reready_processor.rb
Instance Method Summary collapse
-
#initialize(config:, logger:, claude:, issues:, watch: nil) ⇒ RereadyProcessor
constructor
A new instance of RereadyProcessor.
-
#process(pull_request) ⇒ Object
Main entry point.
Constructor Details
#initialize(config:, logger:, claude:, issues:, watch: nil) ⇒ RereadyProcessor
Returns a new instance of RereadyProcessor.
12 13 14 15 16 17 18 |
# File 'lib/ocak/reready_processor.rb', line 12 def initialize(config:, logger:, claude:, issues:, watch: nil) @config = config @logger = logger @claude = claude @issues = issues @watch = watch end |
Instance Method Details
#process(pull_request) ⇒ Object
Main entry point. Returns true on success.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/ocak/reready_processor.rb', line 21 def process(pull_request) pr_number = pull_request['number'] issue_number = @issues.extract_issue_number_from_pr(pull_request) unless issue_number @logger.warn("PR ##{pr_number}: could not extract issue number from body") return false end feedback = gather_feedback(pr_number, issue_number) return false unless feedback branch_name = pull_request['headRefName'] unless GitUtils.safe_branch_name?(branch_name) @logger.error("PR ##{pr_number}: unsafe branch name '#{branch_name}'") return false end unless checkout_pr_branch(branch_name) @logger.error("PR ##{pr_number}: failed to checkout branch #{branch_name}") cleanup return false end success = run_feedback_loop(feedback) handle_result(pr_number, success) ensure cleanup end |