module Import

Public Class Methods

config() click to toggle source
# File lib/import.rb, line 11
def config
  @config ||= nil
  @config
end
info() click to toggle source
# File lib/import.rb, line 27
def info
  return unless Doit.options[:verbose]

  My.verbose "SCRIPT", @script
  My.verbose "CONFIG(yml)", @config
end
init(name) click to toggle source
# File lib/import.rb, line 16
def init(name)
  @script = read(name)
  @config = ERB.new(read("#{name}.yml") || "").result
  info
end
list() click to toggle source

returns Hash { “pull” => “/home/dk/.doit/pull”, … }

# File lib/import.rb, line 23
def list
  @list ||= list2
end
script() click to toggle source
# File lib/import.rb, line 6
def script
  @script ||= nil
  @script
end

Private Class Methods

list2() click to toggle source
# File lib/import.rb, line 36
def list2
  res = {}
  Pathname.pwd.descend { |dir|
    doit_dir = dir + ".doit"
    next unless File.directory?(doit_dir)

    lst = []
    Dir.entries(doit_dir).each { |name|
      name = File.join(doit_dir, name)

      next unless File.executable?(name)
      next if File.directory?(name)

      lst << name
    }
    lst.each { |itm| res[File.basename(itm)] = itm }
  }
  res
end
read(name) click to toggle source
# File lib/import.rb, line 56
def read(name)
  try_ascend(".doit/#{name}")
end
try_ascend(filename) click to toggle source
# File lib/import.rb, line 60
def try_ascend(filename)
  Pathname.pwd.ascend { |dir|
    str = dir + filename
    return File.read(str) if File.exist?(str)
  }
  nil
end