class Cucumber::Messages::Meta

Represents the Meta message in Cucumber’s message protocol.

*

This message contains meta information about the environment. Consumers can use
this for various purposes.

Attributes

ci[R]
cpu[R]

386, arm, amd64 etc

implementation[R]

SpecFlow, Cucumber-JVM, Cucumber.js, Cucumber-Ruby, Behat etc.

os[R]

Windows, Linux, MacOS etc

protocol_version[R]

*

The [SEMVER](https://semver.org/) version number of the protocol
runtime[R]

Java, Ruby, Node.js etc

Public Class Methods

from_h(hash) click to toggle source

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

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

  new(
    protocol_version: hash[:protocolVersion],
    implementation: Product.from_h(hash[:implementation]),
    runtime: Product.from_h(hash[:runtime]),
    os: Product.from_h(hash[:os]),
    cpu: Product.from_h(hash[:cpu]),
    ci: Ci.from_h(hash[:ci])
  )
end
new( protocol_version: '', implementation: Product.new, runtime: Product.new, os: Product.new, cpu: Product.new, ci: nil ) click to toggle source
Calls superclass method
# File lib/cucumber/messages/meta.rb, line 43
def initialize(
  protocol_version: '',
  implementation: Product.new,
  runtime: Product.new,
  os: Product.new,
  cpu: Product.new,
  ci: nil
)
  @protocol_version = protocol_version
  @implementation = implementation
  @runtime = runtime
  @os = os
  @cpu = cpu
  @ci = ci
  super()
end