Class: Pinspec::Inputs::SampleRunner

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

Defined Under Namespace

Classes: Result

Constant Summary collapse

SCRIPT_PATH =
"tmp/pinspec/sampler.rb"

Instance Method Summary collapse

Constructor Details

#initialize(app_root:, env: {}, rails_env: "development", timeout: 300) ⇒ SampleRunner

Returns a new instance of SampleRunner.



36
37
38
39
40
41
# File 'lib/pinspec/inputs/sample_runner.rb', line 36

def initialize(app_root:, env: {}, rails_env: "development", timeout: 300)
  @app_root = app_root
  @env = env
  @rails_env = rails_env
  @timeout = timeout
end

Instance Method Details

#fetch(requests) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/pinspec/inputs/sample_runner.rb', line 43

def fetch(requests)
  write_script!(Sampler.script_for(requests))

  stdout, stderr, status = Open3.capture3(environment, *command, chdir: @app_root)

  unless status.success?
    raise ProbeFailure,
          "the sampler exited #{status.exitstatus} in #{@app_root}.\n" \
          "#{stderr.to_s.lines.last(12).join}"
  end

  parse(stdout, stderr)
end