As far as I know, dotenv doesn't allow setting anything but strings (and multi-line strings). Parser:
LINE = /
\A
(?:export\s+)?
([\w\.]+)
(?:\s*=\s*|:\s+?)
(
'(?:\'|[^'])*'
|
"(?:\"|[^"])*" # double quoted value
| # or
[^#\n]+ # unquoted value
)? # value end
(?:\s*\#.*)? # optional comment
\z
/x
The reason for this is shell and OS support for setting other types of env variables.
, (|), ENV['FOO'].split('|'). , , , , , ENV vars.