class Cucumber::Messages::Envelope

Represents the Envelope message in Cucumber’s message protocol.

When removing a field, replace it with reserved, rather than deleting the line.

When adding a field, add it to the end and increment the number by one.
See https://developers.google.com/protocol-buffers/docs/proto#updating for details

*

All the messages that are passed between different components/processes are Envelope
messages.

Attributes

attachment[R]
gherkin_document[R]
hook[R]
meta[R]
parameter_type[R]
parse_error[R]
pickle[R]
source[R]
step_definition[R]
test_case[R]
test_case_finished[R]
test_case_started[R]
test_run_finished[R]
test_run_started[R]
test_step_finished[R]
test_step_started[R]
undefined_parameter_type[R]

Public Class Methods

from_h(hash) click to toggle source

Returns a new Envelope from the given hash. If the hash keys are camelCased, they are properly assigned to the corresponding snake_cased attributes.

Cucumber::Messages::Envelope.from_h(some_hash) # => #<Cucumber::Messages::Envelope:0x... ...>
# File lib/cucumber/messages.deserializers.rb, line 66
def self.from_h(hash)
  return nil if hash.nil?

  self.new(
    attachment: Attachment.from_h(hash[:attachment]),
    gherkin_document: GherkinDocument.from_h(hash[:gherkinDocument]),
    hook: Hook.from_h(hash[:hook]),
    meta: Meta.from_h(hash[:meta]),
    parameter_type: ParameterType.from_h(hash[:parameterType]),
    parse_error: ParseError.from_h(hash[:parseError]),
    pickle: Pickle.from_h(hash[:pickle]),
    source: Source.from_h(hash[:source]),
    step_definition: StepDefinition.from_h(hash[:stepDefinition]),
    test_case: TestCase.from_h(hash[:testCase]),
    test_case_finished: TestCaseFinished.from_h(hash[:testCaseFinished]),
    test_case_started: TestCaseStarted.from_h(hash[:testCaseStarted]),
    test_run_finished: TestRunFinished.from_h(hash[:testRunFinished]),
    test_run_started: TestRunStarted.from_h(hash[:testRunStarted]),
    test_step_finished: TestStepFinished.from_h(hash[:testStepFinished]),
    test_step_started: TestStepStarted.from_h(hash[:testStepStarted]),
    undefined_parameter_type: UndefinedParameterType.from_h(hash[:undefinedParameterType]),
  )
end
new( attachment: nil, gherkin_document: nil, hook: nil, meta: nil, parameter_type: nil, parse_error: nil, pickle: nil, source: nil, step_definition: nil, test_case: nil, test_case_finished: nil, test_case_started: nil, test_run_finished: nil, test_run_started: nil, test_step_finished: nil, test_step_started: nil, undefined_parameter_type: nil ) click to toggle source
# File lib/cucumber/messages.dtos.rb, line 186
def initialize(
  attachment: nil,
  gherkin_document: nil,
  hook: nil,
  meta: nil,
  parameter_type: nil,
  parse_error: nil,
  pickle: nil,
  source: nil,
  step_definition: nil,
  test_case: nil,
  test_case_finished: nil,
  test_case_started: nil,
  test_run_finished: nil,
  test_run_started: nil,
  test_step_finished: nil,
  test_step_started: nil,
  undefined_parameter_type: nil
)
  @attachment = attachment
  @gherkin_document = gherkin_document
  @hook = hook
  @meta = meta
  @parameter_type = parameter_type
  @parse_error = parse_error
  @pickle = pickle
  @source = source
  @step_definition = step_definition
  @test_case = test_case
  @test_case_finished = test_case_finished
  @test_case_started = test_case_started
  @test_run_finished = test_run_finished
  @test_run_started = test_run_started
  @test_step_finished = test_step_finished
  @test_step_started = test_step_started
  @undefined_parameter_type = undefined_parameter_type
end