Class: Ibex::Runtime::RepairPlan

Inherits:
Object
  • Object
show all
Defined in:
lib/json5/generated_parser.rb

Overview

Deterministically selected repair.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(edits:, configurations:) ⇒ RepairPlan

Returns a new instance of RepairPlan.

RBS:

  • (edits: Array[RepairEdit], configurations: Integer) -> void

Raises:

  • (ArgumentError)


4547
4548
4549
4550
4551
4552
4553
4554
# File 'lib/json5/generated_parser.rb', line 4547

def initialize(edits:, configurations:)
  raise ArgumentError, "repair plan must contain an edit" if edits.empty?

  @edits = edits.dup.freeze
  @cost = @edits.sum(&:cost)
  @configurations = configurations
  freeze
end

Instance Attribute Details

#configurationsObject (readonly)

Signature:

  • Integer



4544
4545
4546
# File 'lib/json5/generated_parser.rb', line 4544

def configurations
  @configurations
end

#costObject (readonly)

Signature:

  • Integer



4543
4544
4545
# File 'lib/json5/generated_parser.rb', line 4543

def cost
  @cost
end

#editsObject (readonly)

Signature:

  • Array[RepairEdit]



4542
4543
4544
# File 'lib/json5/generated_parser.rb', line 4542

def edits
  @edits
end

Instance Method Details

#to_hObject

RBS:

  • () -> Hash[Symbol, Integer | Array[Hash[Symbol, RepairEdit::document_value]]]



4557
4558
4559
# File 'lib/json5/generated_parser.rb', line 4557

def to_h
  { cost: @cost, configurations: @configurations, edits: @edits.map(&:to_h).freeze }.freeze
end