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

Inherits:
Struct show all
Defined in:
lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb

Overview

StreamConfig represents the configuration of a stream from JetStream.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Struct

#as_json

Constructor Details

#initialize(opts = {}) ⇒ StreamConfig

Returns a new instance of StreamConfig.



196
197
198
199
200
201
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 196

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

Returns:

  • (Object)

    the current value of allow_direct



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def allow_direct
  @allow_direct
end

#allow_rollup_hdrsObject

Returns the value of attribute allow_rollup_hdrs

Returns:

  • (Object)

    the current value of allow_rollup_hdrs



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def allow_rollup_hdrs
  @allow_rollup_hdrs
end

#configHash

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#createdString

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#deny_deleteObject

Returns the value of attribute deny_delete

Returns:

  • (Object)

    the current value of deny_delete



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def deny_delete
  @deny_delete
end

#deny_purgeObject

Returns the value of attribute deny_purge

Returns:

  • (Object)

    the current value of deny_purge



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def deny_purge
  @deny_purge
end

#descriptionObject

Returns the value of attribute description

Returns:

  • (Object)

    the current value of description



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def description
  @description
end

#did_createBoolean

Returns:

  • (Boolean)


169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#discardString

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#duplicate_windowInteger

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#max_ageInteger

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#max_bytesInteger

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#max_consumersInteger

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#max_msg_sizeInteger

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#max_msgsInteger

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#max_msgs_per_subjectInteger

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#mirrorObject

Returns the value of attribute mirror

Returns:

  • (Object)

    the current value of mirror



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def mirror
  @mirror
end

#mirror_directObject

Returns the value of attribute mirror_direct

Returns:

  • (Object)

    the current value of mirror_direct



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def mirror_direct
  @mirror_direct
end

#nameString

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#no_ackObject

Returns the value of attribute no_ack

Returns:

  • (Object)

    the current value of no_ack



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def no_ack
  @no_ack
end

#num_replicasInteger

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#placementObject

Returns the value of attribute placement

Returns:

  • (Object)

    the current value of placement



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def placement
  @placement
end

#republishObject

Returns the value of attribute republish

Returns:

  • (Object)

    the current value of republish



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def republish
  @republish
end

#retentionString

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#sealedObject

Returns the value of attribute sealed

Returns:

  • (Object)

    the current value of sealed



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def sealed
  @sealed
end

#sourcesObject

Returns the value of attribute sources

Returns:

  • (Object)

    the current value of sources



169
170
171
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

def sources
  @sources
end

#stateStreamState

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#storageString

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#subjectsArray

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end

#typeString

Returns:



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/nats-pure-2.2.1/lib/nats/io/jetstream/api.rb', line 169

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
end