mirror of
https://github.com/puma/puma.git
synced 2022-11-09 13:48:40 -05:00
88e51fb08e
Reduces runtime allocation by freezing string literals by default. We could also remove a ton of manual `.freeze` calls, however the ruby supported version is 2.2 and the magic comment only targets 2.3+.
31 lines
486 B
Ruby
31 lines
486 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'yaml'
|
|
|
|
module Puma
|
|
class StateFile
|
|
def initialize
|
|
@options = {}
|
|
end
|
|
|
|
def save(path)
|
|
File.write path, YAML.dump(@options)
|
|
end
|
|
|
|
def load(path)
|
|
@options = YAML.load File.read(path)
|
|
end
|
|
|
|
FIELDS = %w!control_url control_auth_token pid!
|
|
|
|
FIELDS.each do |f|
|
|
define_method f do
|
|
@options[f]
|
|
end
|
|
|
|
define_method "#{f}=" do |v|
|
|
@options[f] = v
|
|
end
|
|
end
|
|
end
|
|
end
|