[ref] Extract put-dir method + promisify