Sha256: 3e7e756a17f31f464718641bd62daf4e85872bad6970e3555ec5850108130ae5

Contents?: true

Size: 799 Bytes

Versions: 51

Compression:

Stored size: 799 Bytes

Contents

def alias_task name, old_name
  t = Rake::Task[old_name]
  desc t.full_comment if t.full_comment
  task name, *t.arg_names do |_, args|
    # values_at is broken on Rake::TaskArguments
    args = t.arg_names.map { |a| args[a] }
    t.invoke(args)
  end
end

def append_to_namespace namespace, part
  [namespace, part].compact.join(":")
end

def link_task task, from: nil, to: nil, namespace: nil
  case task
  when Hash
    task.each do |key, val|
      link_task val, from: from, to: to ,
                  namespace: append_to_namespace(namespace, key)

    end
  when Array
    task.each do |t|
     link_task t, from: from, to: to, namespace: namespace
    end
  else
    shared_part = append_to_namespace namespace, task
    alias_task "#{from}:#{shared_part}", "#{to}:#{shared_part}"
  end
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
decko-0.11.4 lib/decko/tasks/alias.rb
decko-0.11.3 lib/decko/tasks/alias.rb
decko-0.11.2 lib/decko/tasks/alias.rb
decko-0.11.1 lib/decko/tasks/alias.rb
decko-0.11.0 lib/decko/tasks/alias.rb
decko-0.10.0 lib/decko/tasks/alias.rb
decko-0.9.6 lib/decko/tasks/alias.rb
decko-0.9.5 lib/decko/tasks/alias.rb
decko-0.9.4 lib/decko/tasks/alias.rb
decko-0.9.3 lib/decko/tasks/alias.rb
decko-0.9.2 lib/decko/tasks/alias.rb
decko-0.9.1 lib/decko/tasks/alias.rb
decko-0.9.0 lib/decko/tasks/alias.rb
decko-0.8.3 lib/decko/tasks/alias.rb
decko-0.8.2 lib/decko/tasks/alias.rb
decko-0.8.1 lib/decko/tasks/alias.rb
decko-0.8.0 lib/decko/tasks/alias.rb
decko-0.7.0 lib/decko/tasks/alias.rb
decko-0.7.0.pre lib/decko/tasks/alias.rb
decko-0.6.8 lib/decko/tasks/alias.rb