Sha256: 6156e23fed53d69b43a2531f76930e92557f1a4fe90099fb7e0bc14292870709

Contents?: true

Size: 1.79 KB

Versions: 5

Compression:

Stored size: 1.79 KB

Contents

require 'fwtoolkit/configfile'
require 'fileutils'

module FWToolkit
  module Config 
    include FWToolkit::ConfigFile

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

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

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

    def self.old_config_path
      File.dirname(old_file)
    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

        if File.exists? old_file
            puts "Moving old configuration file to new path"
            FileUtils.copy_file old_file, config_file
            FileUtils.remove_file old_file
            FileUtils.remove_dir old_config_path
        else
            FileUtils.copy_file base_file, config_file
        end

      end

      default_config = {  :organization_name => 'Future Workshops',
                          :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

5 entries across 5 versions & 1 rubygems

Version Path
fwtoolkit-2.3.4 lib/fwtoolkit/config.rb
fwtoolkit-2.3.3 lib/fwtoolkit/config.rb
fwtoolkit-2.3.2 lib/fwtoolkit/config.rb
fwtoolkit-2.3.1 lib/fwtoolkit/config.rb
fwtoolkit-2.3.0 lib/fwtoolkit/config.rb