class Cucumber::Messages::ExternalAttachment
Represents the ExternalAttachment message in Cucumber’s message protocol.
Represents an attachment that is stored externally rather than embedded in the message stream.
This message type is used for large attachments (e.g., video files) that are already on the filesystem and should not be loaded into memory. Instead of embedding the content, only a URL reference is stored.
A formatter or other consumer of messages may replace an Attachment with an ExternalAttachment if it makes sense to do so.
Attributes
The media type of the data. This can be any valid [IANA Media Type](www.iana.org/assignments/media-types/media-types.xhtml) as well as Cucumber-specific media types such as ‘text/x.cucumber.gherkin+plain` and `text/x.cucumber.stacktrace+plain`
The identifier of the test case attempt if the attachment was created during the execution of a test step
The identifier of the test run hook execution if the attachment was created during the execution of a test run hook
The identifier of the test step if the attachment was created during the execution of a test step
When the attachment was created
A URL where the attachment can be retrieved. This could be a file:// URL for local filesystem paths, or an http(s):// URL for remote resources.
Public Class Methods
Source
# File lib/cucumber/messages/external_attachment.rb, line 77 def self.from_h(hash) return nil if hash.nil? new( url: hash[:url], media_type: hash[:mediaType], test_case_started_id: hash[:testCaseStartedId], test_step_id: hash[:testStepId], test_run_hook_started_id: hash[:testRunHookStartedId], timestamp: Timestamp.from_h(hash[:timestamp]) ) end
Returns a new ExternalAttachment from the given hash. If the hash keys are camelCased, they are properly assigned to the corresponding snake_cased attributes.
Cucumber::Messages::ExternalAttachment.from_h(some_hash) # => #<Cucumber::Messages::ExternalAttachment:0x... ...>
Source
# File lib/cucumber/messages/external_attachment.rb, line 53 def initialize( url: '', media_type: '', test_case_started_id: nil, test_step_id: nil, test_run_hook_started_id: nil, timestamp: nil ) @url = url @media_type = media_type @test_case_started_id = test_case_started_id @test_step_id = test_step_id @test_run_hook_started_id = test_run_hook_started_id @timestamp = timestamp super() end