Sha256: cb4b0b3fa86b2eb27391d26a5608fbd8e69cd7c5375335940102564d54fc86a2

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

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

    def bootloader
      STATES[:gentoo_bootloader] = true
      save
    end

    def kernel
      STATES[:gentoo_kernel] = 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
        warn 'Initialize states'
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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