Sha256: 460c6f2f49b478a5a0354f0caa358c30eabdeacae69b36b17b3900edfe0602f8

Contents?: true

Size: 858 Bytes

Versions: 1

Compression:

Stored size: 858 Bytes

Contents

require 'yaml'

module Getch
  class States
    def initialize
      @file = File.join('/tmp/install_gentoo.yaml')
      load_state
    end

    def partition
      STATES[:partition] = true
      save
    end

    def format
      STATES[:format] = true
      save
    end

    def mount
      STATES[:mount] = true
      save
    end

    def stage3
      STATES[:gentoo_base] = true
      save
    end

    def config
      STATES[:gentoo_config] = true
      save
    end

    def update
      STATES[:gentoo_update] = true
      save
    end

    private

    def save
      File.open(@file, 'w') { |f| YAML::dump(STATES, f) }
    end

    def load_state()
      if File.exist? @file
        state_file = YAML.load_file(@file)
        STATES.merge!(state_file)
      else
        save
        STDERR.puts "Initialize states"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
getch-0.0.3 lib/getch/states.rb