module

Raven::Mixin::InitializeWith

Maps passed attributes to @ivar_variables and self.property_setters=.

class Foo
  include Raven::Mixin::InitializeWith

  @logger : String?
  property message : String?

  def backtrace=(backtrace)
    # ...
  end
end

foo = Foo.new
foo.initialize_with({
  logger:    "my-logger",
  message:   "boo!",
  backtrace: caller,
})

NOTE: Magic inside!

Instance methods

initialize_with(attributes)
initialize_with