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.



235
236
237
238
239
# File 'lib/mockserver/models.rb', line 235

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.



233
234
235
# File 'lib/mockserver/models.rb', line 233

def distribution
  @distribution
end

#time_unitObject

Returns the value of attribute time_unit.



233
234
235
# File 'lib/mockserver/models.rb', line 233

def time_unit
  @time_unit
end

#valueObject

Returns the value of attribute value.



233
234
235
# File 'lib/mockserver/models.rb', line 233

def value
  @value
end

Class Method Details

.from_hash(data) ⇒ Object



249
250
251
252
253
254
255
256
257
258
# File 'lib/mockserver/models.rb', line 249

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



241
242
243
244
245
246
247
# File 'lib/mockserver/models.rb', line 241

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