Sha256: 5155c483a56be9ec0c672821476eb74d4fb87cdd92284b563f54453e4932331f

Contents?: true

Size: 1.45 KB

Versions: 1

Compression:

Stored size: 1.45 KB

Contents

require 'colorize'

module Hackpad
  module Cli
    module Config
      extend self

      def load(options, input=STDIN, output=STDOUT)
        @input = input
        @output = output
        configdir = options[:configdir]
        configfile = File.join(configdir, "#{options[:workspace]}.yml")
        # temporary migration path
        if !File.exists?(configfile) && File.exists?(File.join(configdir, "config.yml"))
          FileUtils.mv File.join(configdir, "config.yml"), configfile
        end
        if !Dir.exists?(configdir) || !File.exists?(configfile)
          setup configfile, input, output
        end
        YAML::load_file configfile
      end

    private

      def setup(configfile, input=STDIN, output=STDOUT)
        config = {}
        FileUtils.mkdir_p File.dirname(configfile)
        output.puts "We need first to initialize your hackpad-cli configuration.".blue
        output.puts "Please gather your information from https://<subdomain>.hackpad.com/ep/account/settings/".light_blue
        output.print "What is your Client ID?  "
        config['client_id'] = input.gets.chomp
        output.flush
        output.print "What is your Secret Key? "
        output.flush
        config['secret'] = input.gets.chomp
        output.print "What is the URI of your pad? "
        output.flush
        config['site'] = input.gets.chomp
        File.open(configfile, "w") do |f|
          f.write YAML::dump(config)
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hackpad-cli-0.0.7 lib/hackpad/cli/config.rb