Class: MockServer::LoadShape

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

Overview

A declarative named load shape that expands into ordinary LoadStage stages. Set this as a LoadProfile's shape instead of an explicit stages list; only the parameters its type needs are read. type is one of SPIKE, STAIRS or RAMP_HOLD; metric (+VU+ or RATE) selects what the shape drives.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, metric: nil, curve: nil, baseline: nil, peak: nil, ramp_up_millis: nil, hold_millis: nil, ramp_down_millis: nil, recovery_hold_millis: nil, start: nil, step: nil, steps: nil, step_duration_millis: nil, target: nil, ramp_millis: nil) ⇒ LoadShape

Returns a new instance of LoadShape.



2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
# File 'lib/mockserver/models.rb', line 2888

def initialize(type:, metric: nil, curve: nil, baseline: nil, peak: nil,
               ramp_up_millis: nil, hold_millis: nil, ramp_down_millis: nil,
               recovery_hold_millis: nil, start: nil, step: nil, steps: nil,
               step_duration_millis: nil, target: nil, ramp_millis: nil)
  @type = type
  @metric = metric
  @curve = curve
  @baseline = baseline
  @peak = peak
  @ramp_up_millis = ramp_up_millis
  @hold_millis = hold_millis
  @ramp_down_millis = ramp_down_millis
  @recovery_hold_millis = recovery_hold_millis
  @start = start
  @step = step
  @steps = steps
  @step_duration_millis = step_duration_millis
  @target = target
  @ramp_millis = ramp_millis
end

Instance Attribute Details

#baselineObject

Returns the value of attribute baseline.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def baseline
  @baseline
end

#curveObject

Returns the value of attribute curve.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def curve
  @curve
end

#hold_millisObject

Returns the value of attribute hold_millis.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def hold_millis
  @hold_millis
end

#metricObject

Returns the value of attribute metric.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def metric
  @metric
end

#peakObject

Returns the value of attribute peak.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def peak
  @peak
end

#ramp_down_millisObject

Returns the value of attribute ramp_down_millis.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def ramp_down_millis
  @ramp_down_millis
end

#ramp_millisObject

Returns the value of attribute ramp_millis.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def ramp_millis
  @ramp_millis
end

#ramp_up_millisObject

Returns the value of attribute ramp_up_millis.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def ramp_up_millis
  @ramp_up_millis
end

#recovery_hold_millisObject

Returns the value of attribute recovery_hold_millis.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def recovery_hold_millis
  @recovery_hold_millis
end

#startObject

Returns the value of attribute start.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def start
  @start
end

#stepObject

Returns the value of attribute step.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def step
  @step
end

#step_duration_millisObject

Returns the value of attribute step_duration_millis.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def step_duration_millis
  @step_duration_millis
end

#stepsObject

Returns the value of attribute steps.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def steps
  @steps
end

#targetObject

Returns the value of attribute target.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def target
  @target
end

#typeObject

Returns the value of attribute type.



2884
2885
2886
# File 'lib/mockserver/models.rb', line 2884

def type
  @type
end

Class Method Details

.from_hash(data) ⇒ Object



2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
# File 'lib/mockserver/models.rb', line 2929

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

  new(
    type:                 data['type'],
    metric:               data['metric'],
    curve:                data['curve'],
    baseline:             data['baseline'],
    peak:                 data['peak'],
    ramp_up_millis:       data['rampUpMillis'],
    hold_millis:          data['holdMillis'],
    ramp_down_millis:     data['rampDownMillis'],
    recovery_hold_millis: data['recoveryHoldMillis'],
    start:                data['start'],
    step:                 data['step'],
    steps:                data['steps'],
    step_duration_millis: data['stepDurationMillis'],
    target:               data['target'],
    ramp_millis:          data['rampMillis']
  )
end

Instance Method Details

#to_hObject



2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
# File 'lib/mockserver/models.rb', line 2909

def to_h
  MockServer.strip_none({
    'type'               => @type,
    'metric'             => @metric,
    'curve'              => @curve,
    'baseline'           => @baseline,
    'peak'               => @peak,
    'rampUpMillis'       => @ramp_up_millis,
    'holdMillis'         => @hold_millis,
    'rampDownMillis'     => @ramp_down_millis,
    'recoveryHoldMillis' => @recovery_hold_millis,
    'start'              => @start,
    'step'               => @step,
    'steps'              => @steps,
    'stepDurationMillis' => @step_duration_millis,
    'target'             => @target,
    'rampMillis'         => @ramp_millis
  })
end