class RakeDependencies::Tasks::Ensure

Public Instance Methods

define() click to toggle source
# File lib/rake_dependencies/tasks/ensure.rb, line 25
def define
  clean = Rake::Task[scoped_task_name(clean_task)]
  download = Rake::Task[scoped_task_name(download_task)]
  extract = Rake::Task[scoped_task_name(extract_task)]

  desc "Ensure #{dependency} present"
  task name do
    parameters = {
        path: path,
        version: version,
        binary_directory: binary_directory
    }
    if needs_fetch.call(parameters)
      [clean, download, extract].map(&:invoke)
    end
  end
end
process_arguments(args) click to toggle source
# File lib/rake_dependencies/tasks/ensure.rb, line 20
def process_arguments args
  super(args)
  self.name = args[0] if args[0]
end

Private Instance Methods

scoped_task_name(task_name) click to toggle source
# File lib/rake_dependencies/tasks/ensure.rb, line 45
def scoped_task_name(task_name)
  Rake.application.current_scope.path_with_task_name(task_name)
end