Class: AISpec::Core::Runner
- Inherits:
-
Object
- Object
- AISpec::Core::Runner
- Defined in:
- lib/aispec/core/runner.rb
Instance Attribute Summary collapse
-
#contract ⇒ Object
readonly
Returns the value of attribute contract.
-
#provider_override ⇒ Object
readonly
Returns the value of attribute provider_override.
Instance Method Summary collapse
-
#initialize(contract, provider_override: nil) ⇒ Runner
constructor
A new instance of Runner.
- #run(dataset_item_filter: nil) ⇒ Object
Constructor Details
#initialize(contract, provider_override: nil) ⇒ Runner
Returns a new instance of Runner.
8 9 10 11 |
# File 'lib/aispec/core/runner.rb', line 8 def initialize(contract, provider_override: nil) @contract = contract.is_a?(Contract) ? contract : Contract.load_file(contract.to_s) @provider_override = provider_override end |
Instance Attribute Details
#contract ⇒ Object (readonly)
Returns the value of attribute contract.
6 7 8 |
# File 'lib/aispec/core/runner.rb', line 6 def contract @contract end |
#provider_override ⇒ Object (readonly)
Returns the value of attribute provider_override.
6 7 8 |
# File 'lib/aispec/core/runner.rb', line 6 def provider_override @provider_override end |
Instance Method Details
#run(dataset_item_filter: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/aispec/core/runner.rb', line 13 def run(dataset_item_filter: nil) provider_name = provider_override || contract.provider_name provider_class = Providers::Base.get(provider_name) provider_instance = provider_class.new(model: contract.model) items = contract.dataset_items items = [ { input: "Default test input" } ] if items.empty? run_results = items.map do |item| execute_item(item, provider_instance) end stats = Statistics::Calculator.new(run_results) { contract: contract, provider_name: provider_name, model: contract.model, runs: run_results, statistics: stats } end |