i played with writing my own error message but couldn't find a way to make it dry. Missing code theory.

i had 
```ruby
        aws_access_key_id:        ENV.fetch('AWS_ACCESS_KEY_ID')  { |key|  raise "you must set ENV[:#{key}] },
        aws_secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY')  { |key|  raise "you must set ENV[:#{key}] },
        bucket:                             ENV.fetch('AWS_ATTACHMENTS_BUCKET')  { |key|  raise "you must set ENV[:#{key}] }
```
and i think this worked

then tried to dry it up like in confident ruby like:
```ruby
       ENV_WARNING = -> { |key| raise("You must define ENV[:#{key}]") }

       ...
       aws_access_key_id:        ENV.fetch('AWS_ACCESS_KEY_ID', &ENV_WARNING),
       aws_secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY', &ENV_WARNING),
       bucket:                             ENV.fetch('AWS_ATTACHMENTS_BUCKET', &ENV_WARNING)
```
but i don't know enough about `Proc`s .... or what `&` does
be interested to know what i should read to understand that better