Module: Observ::PromptManager::Comparison

Included in:
Observ::PromptManager
Defined in:
app/services/observ/prompt_manager/comparison.rb

Overview

Concern for comparing different versions of prompts. Provides diff functionality to highlight changes between versions.

Instance Method Summary collapse

Instance Method Details

#compare_versions(name:, version_a:, version_b:) ⇒ Hash

Compare two versions of a prompt

Parameters:

  • name (String)

    The prompt name

  • version_a (Integer)

    First version number

  • version_b (Integer)

    Second version number

Returns:

  • (Hash)

    Hash with :from, :to, and :diff keys



17
18
19
20
21
22
23
24
25
26
# File 'app/services/observ/prompt_manager/comparison.rb', line 17

def compare_versions(name:, version_a:, version_b:)
  prompt_a = Prompt.find_by!(name: name, version: version_a)
  prompt_b = Prompt.find_by!(name: name, version: version_b)

  {
    from: prompt_a,
    to: prompt_b,
    diff: calculate_diff(prompt_a.prompt, prompt_b.prompt)
  }
end