Class: MockServer::LoadCapture

Inherits:
Object
  • Object
show all
Defined in:
lib/mockserver/models.rb

Overview

A declarative cross-step capture / correlation rule: extracts a value from a step's response and binds it to name, which a later step in the same iteration can reference from its templated request fields. source is one of BODY_JSONPATH, HEADER or BODY_REGEX; expression drives the extraction; default_value is an optional fallback when extraction yields nothing.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, source:, expression:, default_value: nil) ⇒ LoadCapture

Returns a new instance of LoadCapture.



2992
2993
2994
2995
2996
2997
# File 'lib/mockserver/models.rb', line 2992

def initialize(name:, source:, expression:, default_value: nil)
  @name = name
  @source = source
  @expression = expression
  @default_value = default_value
end

Instance Attribute Details

#default_valueObject

Returns the value of attribute default_value.



2990
2991
2992
# File 'lib/mockserver/models.rb', line 2990

def default_value
  @default_value
end

#expressionObject

Returns the value of attribute expression.



2990
2991
2992
# File 'lib/mockserver/models.rb', line 2990

def expression
  @expression
end

#nameObject

Returns the value of attribute name.



2990
2991
2992
# File 'lib/mockserver/models.rb', line 2990

def name
  @name
end

#sourceObject

Returns the value of attribute source.



2990
2991
2992
# File 'lib/mockserver/models.rb', line 2990

def source
  @source
end

Class Method Details

.from_hash(data) ⇒ Object



3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
# File 'lib/mockserver/models.rb', line 3008

def self.from_hash(data)
  return nil if data.nil?

  new(
    name:          data['name'],
    source:        data['source'],
    expression:    data['expression'],
    default_value: data['defaultValue']
  )
end

Instance Method Details

#to_hObject



2999
3000
3001
3002
3003
3004
3005
3006
# File 'lib/mockserver/models.rb', line 2999

def to_h
  MockServer.strip_none({
    'name'         => @name,
    'source'       => @source,
    'expression'   => @expression,
    'defaultValue' => @default_value
  })
end