Class: Pinspec::Inputs::Corpus

Inherits:
Object
  • Object
show all
Defined in:
lib/pinspec/inputs/corpus.rb

Constant Summary collapse

DEFAULT_MAX_CASES =
12
OMIT =
:__pinspec_omit__

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(target:, plan:, schema: nil, max_cases: DEFAULT_MAX_CASES, imports: []) ⇒ Corpus

Returns a new instance of Corpus.



16
17
18
19
20
21
22
# File 'lib/pinspec/inputs/corpus.rb', line 16

def initialize(target:, plan:, schema: nil, max_cases: DEFAULT_MAX_CASES, imports: [])
  @target    = target
  @plan      = plan
  @schema    = schema
  @max_cases = max_cases
  @imports   = imports
end

Class Method Details

.build(target:, plan:, schema: nil, max_cases: DEFAULT_MAX_CASES, imports: []) ⇒ Object



11
12
13
# File 'lib/pinspec/inputs/corpus.rb', line 11

def build(target:, plan:, schema: nil, max_cases: DEFAULT_MAX_CASES, imports: [])
  new(target: target, plan: plan, schema: schema, max_cases: max_cases, imports: imports).build
end

Instance Method Details

#buildObject



24
25
26
27
28
29
# File 'lib/pinspec/inputs/corpus.rb', line 24

def build
  cases = [base_case]
  cases.concat(boundary_cases(@max_cases - cases.size))

  InputCorpus.new(cases: dedup(cases), setup_plan: @plan)
end