1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/lib/puma/state_file.rb
MSP-Greg f1c7fcde9a
File.open -> File.read, File.write (#2493)
File.open creates an IO object, which may appear when looking at 'leftover' IO objects.
2020-11-27 08:47:33 -07:00

36 lines
672 B
Ruby

# frozen_string_literal: true
require 'yaml'
module Puma
class StateFile
def initialize
@options = {}
end
def save(path, permission = nil)
contents =YAML.dump @options
if permission
File.write path, contents, mode: 'wb:UTF-8'
else
File.write path, contents, mode: 'wb:UTF-8', perm: permission
end
end
def load(path)
@options = YAML.load File.read(path)
end
FIELDS = %w!control_url control_auth_token pid running_from!
FIELDS.each do |f|
define_method f do
@options[f]
end
define_method "#{f}=" do |v|
@options[f] = v
end
end
end
end