Class: MockServer::Delay

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(time_unit: 'MILLISECONDS', value: 0, distribution: nil) ⇒ Delay

Returns a new instance of Delay.



309
310
311
312
313
# File 'lib/mockserver/models.rb', line 309

def initialize(time_unit: 'MILLISECONDS', value: 0, distribution: nil)
  @time_unit = time_unit
  @value = value
  @distribution = distribution
end

Instance Attribute Details

#distributionObject

Returns the value of attribute distribution.



307
308
309
# File 'lib/mockserver/models.rb', line 307

def distribution
  @distribution
end

#time_unitObject

Returns the value of attribute time_unit.



307
308
309
# File 'lib/mockserver/models.rb', line 307

def time_unit
  @time_unit
end

#valueObject

Returns the value of attribute value.



307
308
309
# File 'lib/mockserver/models.rb', line 307

def value
  @value
end

Class Method Details

.from_hash(data) ⇒ Object



323
324
325
326
327
328
329
330
331
332
# File 'lib/mockserver/models.rb', line 323

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

  dist_data = data['distribution']
  new(
    time_unit:    data.fetch('timeUnit', 'MILLISECONDS'),
    value:        data.fetch('value', 0),
    distribution: dist_data ? DelayDistribution.from_hash(dist_data) : nil
  )
end

Instance Method Details

#to_hObject



315
316
317
318
319
320
321
# File 'lib/mockserver/models.rb', line 315

def to_h
  MockServer.strip_none({
    'timeUnit'     => @time_unit,
    'value'        => @value,
    'distribution' => @distribution&.to_h
  })
end