Sha256: c8046224861a800441835c9f39955c05262b5624c95793a2fc03c26cb92930f1

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

require 'dotter/utilities'
require 'inifile'
module Dotter
  class Configuration
    include Utilities
    attr_reader :config_file
    attr_accessor :config
    def initialize(config_file = package_path('dotter') + '.dotter/Dotfile')
      @config_file = config_file
      @config = IniFile.load(config_file)
    end

    def package_config(package)
      @config[package]
    end

    def save
      @config.write
    end

    def set_state(package, state)
      package_conf = package_config(package)
      package_conf['state'] = state
      save
    end

    def track(package)
      package_conf = package_config(package)
      package_conf['tracked'] = true
      save
    end

    def publish(package)
      package_conf = package_config(package)
      package_conf['public'] = true
      save
    end

    def unpublish(package)
      package_conf = package_config(package)
      package_conf['public'] = false
      save
    end

    def set_type(package, type)
      package_conf = package_config(package)
      package_conf['type'] = type
      save
    end
    def set_url(package,url)
      package_conf = package_config(package)
      package_conf['url'] = url
      save
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dotter_dotfiles-0.4.0 lib/dotter/configuration.rb
dotter_dotfiles-0.3.0 lib/dotter/configuration.rb