Class: NATS::JetStream::API::StreamConfig

Inherits:
Struct
  • Object
show all
Defined in:
lib/nats/io/js.rb

Overview

StreamConfig represents the configuration of a stream from JetStream.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ StreamConfig



1319
1320
1321
1322
1323
1324
# File 'lib/nats/io/js.rb', line 1319

def initialize(opts={})
  # Filter unrecognized fields just in case.
  rem = opts.keys - members
  opts.delete_if { |k| rem.include?(k) }
  super(opts)
end

Instance Attribute Details

#allow_directObject

Returns the value of attribute allow_direct



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def allow_direct
  @allow_direct
end

#allow_rollup_hdrsObject

Returns the value of attribute allow_rollup_hdrs



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def allow_rollup_hdrs
  @allow_rollup_hdrs
end

#configHash



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#createdString



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#deny_deleteObject

Returns the value of attribute deny_delete



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def deny_delete
  @deny_delete
end

#deny_purgeObject

Returns the value of attribute deny_purge



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def deny_purge
  @deny_purge
end

#descriptionObject

Returns the value of attribute description



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def description
  @description
end

#did_createBoolean



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#discardString



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#duplicate_windowInteger



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#max_ageInteger



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#max_bytesInteger



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#max_consumersInteger



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#max_msg_sizeInteger



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#max_msgsInteger



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#max_msgs_per_subjectInteger



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#mirrorObject

Returns the value of attribute mirror



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def mirror
  @mirror
end

#mirror_directObject

Returns the value of attribute mirror_direct



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def mirror_direct
  @mirror_direct
end

#nameString



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#no_ackObject

Returns the value of attribute no_ack



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def no_ack
  @no_ack
end

#num_replicasInteger



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#placementObject

Returns the value of attribute placement



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def placement
  @placement
end

#republishObject

Returns the value of attribute republish



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def republish
  @republish
end

#retentionString



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#sealedObject

Returns the value of attribute sealed



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def sealed
  @sealed
end

#sourcesObject

Returns the value of attribute sources



1292
1293
1294
# File 'lib/nats/io/js.rb', line 1292

def sources
  @sources
end

#stateStreamState



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#storageString



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#subjectsArray



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

#typeString



1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
# File 'lib/nats/io/js.rb', line 1292

StreamConfig = Struct.new(
                          :name,
                          :description,
                          :subjects,
                          :retention,
                          :max_consumers,
                          :max_msgs,
                          :max_bytes,
                          :discard,
                          :max_age,
                          :max_msgs_per_subject,
                          :max_msg_size,
                          :storage,
                          :num_replicas,
                          :no_ack,
                          :duplicate_window,
                          :placement,
                          :mirror,
                          :sources,
                          :sealed,
                          :deny_delete,
                          :deny_purge,
                          :allow_rollup_hdrs,
                          :republish,
                          :allow_direct,
                          :mirror_direct,
                          keyword_init: true) do
  def initialize(opts={})
    # Filter unrecognized fields just in case.
    rem = opts.keys - members
    opts.delete_if { |k| rem.include?(k) }
    super(opts)
  end

  def to_json(*args)
    config = self.to_h
    config.delete_if { |_k, v| v.nil? }
    config.to_json(*args)
  end
end

Instance Method Details

#to_json(*args) ⇒ Object



1326
1327
1328
1329
1330
# File 'lib/nats/io/js.rb', line 1326

def to_json(*args)
  config = self.to_h
  config.delete_if { |_k, v| v.nil? }
  config.to_json(*args)
end