Sha256: 6bc862c64a37b399af90f0133fbfa1ceb339e79656178cb17adccdfc74cd52f9

Contents?: true

Size: 1.1 KB

Versions: 7

Compression:

Stored size: 1.1 KB

Contents

require 'non_config'
require 'redmine_rest'

module RedmineCLI
  #
  # Class that stores configuration and manipulates with it
  #
  class Config < NonConfig::Base
    @path_to_config = File.expand_path('.redmine_cli', Dir.home)

    def self.configure_rest
      RedmineRest::Models.configure_models user: user,
                                           password: password,
                                           site: site
    rescue
      puts '!!!'
      puts 'Looks like your config file is corrupted or it was just created.'
      puts 'Please, use `redmine conf init`'
      puts '!!!'
      puts
    end

    def self.create_config
      defaults = { 'just_created' => true,
                   'user' => nil,
                   'password' => nil,
                   'site' => nil }
      File.open(@path_to_config, 'w') { |f| f.write defaults.to_yaml }
    end

    def self.new?
      self['just_created']
    end

    create_config unless File.exist? @path_to_config

    source :default, File.expand_path('../../assets/default_config.yml', __FILE__)
    source :user, @path_to_config

    configure_rest
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
redmine_cli-0.7.0 lib/redmine_cli/config.rb
redmine_cli-0.6.1 lib/redmine_cli/config.rb
redmine_cli-0.6.0 lib/redmine_cli/config.rb
redmine_cli-0.5.1 lib/redmine_cli/config.rb
redmine_cli-0.5.0 lib/redmine_cli/config.rb
redmine_cli-0.4.1 lib/redmine_cli/config.rb
redmine_cli-0.4.0 lib/redmine_cli/config.rb