Method: Drydock::ObjectCaches::FilesystemCache#set

Defined in:
lib/drydock/object_caches/filesystem_cache.rb

#set(key, value = nil, &blk) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/drydock/object_caches/filesystem_cache.rb', line 59

def set(key, value = nil, &blk)
  filename = build_path(key)
  dirname = File.dirname(filename)
  FileUtils.mkdir_p(dirname)

  File.open(filename, 'w') do |file|
    if blk.nil?
      file.write value
    else
      blk.call file
    end
  end

  nil
end