Sha256: 732de6a0120351946d8faa000185e08479d65a045cda4f5d31cde7441b0b57fe

Contents?: true

Size: 1.42 KB

Versions: 2

Compression:

Stored size: 1.42 KB

Contents

require 'fwtoolkit/configfile'
require 'fileutils'

module FWToolkit
  module Config 
    include FWToolkit::ConfigFile

    def self.config_file
      File.join(ENV['HOME'], '.fwtoolkit', 'config')
    end

    def self.base_file
      File.join(File.dirname(__FILE__), 'config', 'config.sample')
    end

    def self.config_path
      File.dirname(config_file)
    end

    def load!
      unless File.exists? config_file
        puts "Config file not found"
        unless File.exists? config_path
          puts "Creating basic path"
          FileUtils.mkpath config_path
        end
        FileUtils.copy_file base_file, config_file
      end

      default_config = {  :organization_name => 'Future Workshops',
                          :ruby_version => '2.6.3',
                          :target_platform => '13.1',
                          :ci_server_url => 'https://app.bitrise.io/dashboard',
                          :artifacts_tmp_dir => '/tmp/fwtoolkit/artifacts' }

      load_config! config_file
    end

    def validate_config
      unless @config.has_key?(:developer_name) 
        raise NameError, "Please configure fwtoolkit by editing the file at path: #{config_file}, and inform your name on developer_name"
      end
    end

    def conf_item_missing(name)
      raise NoMethodError, "Please provide a valid '#{name}' by editing the conf file at path: #{config_file}"
    end

    extend self
  end
end

FWToolkit::Config.load!

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fwtoolkit-2.2.4 lib/fwtoolkit/config.rb
fwtoolkit-2.2.3 lib/fwtoolkit/config.rb