Sha256: af0c1361d1ef8029af30dff86d3a06955b03f2aaf72a922e4f1f7d07fbe611dd

Contents?: true

Size: 975 Bytes

Versions: 7

Compression:

Stored size: 975 Bytes

Contents

require 'erb'

module Climine::Command
  class Config < Base
    CONFIG = "climine.yml"
    TEMPLATE = <<-ERB
url: <%= options[:url] %>
apikey: <%= options[:key] %>
<% if options[:editor] -%>
editor: <%= options[:editor] %>
<% end -%>
    ERB

    default_command :init

    desc "init ", "initialize climine.yml"
    option :url, required: true, type: :string, aliases: '-u', banner: "RedmineURL", desc: "Your Redmine's URL"
    option :key, required: true, type: :string, aliases: '-k', banner: "API-Access-Key", desc: "Your API Access Key"
    option :editor, required: false, type: :string, aliases: '-e', banner: "Editor command or path", desc: "Your favorite editor ex) emacs or vim or /usr/bin/emacs etc..."
    def init
      return if File.exist?(CONFIG) and !yes?("Overwrite? [#{CONFIG}] (y/n)", :green)

      open(CONFIG, 'w'){|file| file.write(ERB.new(TEMPLATE, nil, "-").result(binding)) }
      puts "create [ #{File.expand_path(CONFIG)} ]"
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
climine-0.1.1 lib/climine/command/config.rb
climine-0.1.0 lib/climine/command/config.rb
climine-0.0.8 lib/climine/command/config.rb
climine-0.0.7 lib/climine/command/config.rb
climine-0.0.6 lib/climine/command/config.rb
climine-0.0.5 lib/climine/command/config.rb
climine-0.0.4 lib/climine/command/config.rb