Sha256: ec4531dce2208c0ab78d049b617d508cf2d798223f14f870b2cf0ae524db9bb3
Contents?: true
Size: 1.07 KB
Versions: 8
Compression:
Stored size: 1.07 KB
Contents
require 'fluoride-collector' require 'fluoride-collector/storage' module Fluoride module Collector class Storage class FS < Storage def directory @config.directory end def storage_limit @config.storage_limit end def write storage_file do |file| file.write(record_yaml) end end def storage_used dir = Dir.new(directory) dir.inject(0) do |sum, file| if file =~ %r{\A\.} sum else sum + File.size(File::join(directory, file)) end end end def storage_path thread_locals[collection_type] ||= File::join(directory, "#{collection_type}-#{Process.pid}-#{Thread.current.object_id}.yml") end def storage_file FileUtils.mkdir_p(File::dirname(storage_path)) return if storage_used > storage_limit File::open(storage_path, "a") do |file| yield file end end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems