class Milkode::CLI

Public Class Methods

exit_on_failure?() click to toggle source
# File lib/milkode/cli.rb, line 10
def self.exit_on_failure?
  true
end

Public Instance Methods

add(*args) click to toggle source
# File lib/milkode/cli.rb, line 51
def add(*args)
  if args.empty? && !options[:from_file]
    CLI.task_help(shell, "add")
  else
    cdstk.add(args, options)
  end
end
cleanup(*args) click to toggle source
# File lib/milkode/cli.rb, line 112
def cleanup(*args)
  cdstk.cleanup(args, options)
end
config(*args) click to toggle source
# File lib/milkode/cli.rb, line 247
def config(*args)
  cdstk.config(args, options)
end
dir(*args) click to toggle source
# File lib/milkode/cli.rb, line 130
def dir(*args)
  cdstk.dir(args, options)
end
dump() click to toggle source
# File lib/milkode/cli.rb, line 124
def dump
  cdstk.dump
end
fav(*paths) click to toggle source
# File lib/milkode/cli.rb, line 174
def fav(*paths)
  cdstk.fav(paths, options)
end
files(*args) click to toggle source
# File lib/milkode/cli.rb, line 230
def files(*args)
  cdstk.files(args, options)
end
grep(*args) click to toggle source
# File lib/milkode/cli.rb, line 210
def grep(*args)
  Milkode::CLI_Grep.execute($stdout, args)
end
ignore(*paths) click to toggle source
# File lib/milkode/cli.rb, line 163
def ignore(*paths)
  begin
    cdstk.ignore(paths, options)
  rescue IgnoreError => e
    $stdout.puts e.message
  end
end
info(*args) click to toggle source
# File lib/milkode/cli.rb, line 153
def info(*args)
  cdstk.info(args_or_pipe(args, $stdin), options)
end
init(db_dir = nil) click to toggle source
# File lib/milkode/cli.rb, line 20
def init(db_dir = nil)
  db_dir = db_dir || Dbdir.default_dir
  FileUtils.mkdir_p db_dir
  cdstk(db_dir).init(options)
end
invoke_command(task, *args) click to toggle source

デフォルトメソッドを上書きして -h を処理 defined in /lib/thor/invocation.rb

Calls superclass method
# File lib/milkode/cli.rb, line 260
def invoke_command(task, *args)
  if options[:help] && task.name != 'grep'
    CLI.task_help(shell, task.name)
  elsif options[:version] && task.name == 'help'
    puts "milk #{Milkode::VERSION}"
  else
    super
  end
end
list(*args) click to toggle source
# File lib/milkode/cli.rb, line 97
def list(*args)
  cdstk.list(args, options)
end
mcd() click to toggle source
# File lib/milkode/cli.rb, line 142
def mcd
  cdstk.mcd(options)
end
plugins(*args) click to toggle source
# File lib/milkode/cli.rb, line 216
    def plugins(*args)
      $stdout.puts <<EOF
bundle-milkode      https://github.com/kou/bundle-milkode
emacs-milkode       https://github.com/ongaeshi/emacs-milkode
gem-milkode         https://github.com/kou/gem-milkode 
Gitomb              https://github.com/tomykaira/gitomb
Milkode_Sublime     https://github.com/tsurushuu/Milkode_Sublime
redmine_milkode     https://github.com/suer/redmine_milkode
EOF
    end
pwd() click to toggle source
# File lib/milkode/cli.rb, line 103
def pwd()
  cdstk.pwd(options)
end
rebuild(*args) click to toggle source
# File lib/milkode/cli.rb, line 119
def rebuild(*args)
  cdstk.rebuild(args, options)
end
remove(*args) click to toggle source
# File lib/milkode/cli.rb, line 71
def remove(*args)
  $stdout.puts "[warning] 'milk remove' is obsolete. Please use 'milk rm'."

  if args.empty? && !options[:all]
    CLI.task_help(shell, "remove")
  else
    cdstk.remove(args, options)
  end
end
rm(*args) click to toggle source
# File lib/milkode/cli.rb, line 85
def rm(*args)
  if args.empty? && !options[:all]
    CLI.task_help(shell, "remove")
  else
    cdstk.remove(args, options)
  end
end
setdb(*args) click to toggle source
# File lib/milkode/cli.rb, line 136
def setdb(*args)
  cdstk.setdb(args, options)
end
shell() click to toggle source
# File lib/milkode/cli.rb, line 254
def shell
  @shell ||= Thor::Base.shell.new
end
update(*args) click to toggle source
# File lib/milkode/cli.rb, line 63
def update(*args)
  cdstk.update(args, options)
end
web() click to toggle source
# File lib/milkode/cli.rb, line 188
def web
  opts = {
    :environment => ENV['RACK_ENV'] || "development",
    :pid         => nil,
    :Port        => options[:port],
    :Host        => options[:host],
    :AccessLog   => [],
    :config      => "config.ru",
    # ----------------------------
    :server        => options[:server],
    :LaunchBrowser => !options[:no_browser],
    :DbDir         => options[:db],
    :url           => options[:url],
    :gomilk        => options[:gomilk]
  }
  opts[:customize] = options[:customize]
  # cdstk(opts[:DbDir]).assert_compatible
  Milkode::CLI_Cdweb.execute_with_options($stdout, opts)
end

Private Instance Methods

args_or_pipe(args, stdin) click to toggle source

引数が空の場合はパイプ(標準入力)を受け取る

# File lib/milkode/cli.rb, line 287
def args_or_pipe(args, stdin)
  if !args.empty?
    args 
  elsif File.pipe?(stdin)
    stdin.readlines.map{|v| v.chomp}
  else
    []
  end
end
cdstk(dir = nil) click to toggle source
# File lib/milkode/cli.rb, line 273
def cdstk(dir = nil)
  Cdstk.new($stdout, dir || db_dir)
end
db_dir() click to toggle source

init からはアクセスしてはいけない

# File lib/milkode/cli.rb, line 278
def db_dir
  if (Dbdir.dbdir?('.') || !Dbdir.dbdir?(Dbdir.default_dir))
    '.'
  else
    Dbdir.default_dir
  end
end