Index name with local system date not using message @timestamp

I was looking at this post

https://discuss.elastic.co/t/need-help-to-create-current-date-based-index-in-ls/42834

but get the follow error

[2018-12-22T20:32:21,539][ERROR][logstash.filters.ruby ] Ruby exception occurred: Direct event field references (i.e. event['field']) have been disabled in favor of using event get and set methods (e.g. event.get('field')). Please consult the Logstash 5.0 breaking changes documentation for more details.

so looking at this

https://discuss.elastic.co/t/logstash-cannot-assign-correct-date-to-log-timestamp/89249/3

here is the final working config

filter {
  ruby {
    code => 'event.set("[@metadata][now]", Time.now.strftime("%Y.%m.%d"))'
  }
}
output {
  elasticsearch {
    ...
    index => "logstash-%{[@metadata][now]}"
  }
}