lib/rake/funnel/tasks/paket.rb in rake-funnel-0.3.2.pre vs lib/rake/funnel/tasks/paket.rb in rake-funnel-0.4.0.pre

- old
+ new

@@ -1,47 +1,51 @@ -require 'rake/tasklib' - -module Rake::Funnel::Tasks - class Paket < Rake::TaskLib - include Rake::Funnel::Support - - attr_accessor :name, :paket, :paket_args, :bootstrapper, :bootstrapper_args - - def initialize(*args, &task_block) - setup_ivars(args) - - define(args, &task_block) - end - - private - def setup_ivars(args) - @name = args.shift || :paket - - @paket = File.join('.paket', 'paket.exe') - @paket_args = 'restore' - - @bootstrapper = File.join('.paket', 'paket.bootstrapper.exe') - @bootstrapper_args = nil - end - - def define(args, &task_block) - desc 'Restore packages' unless Rake.application.last_description - - task(name, *args) do |_, task_args| - task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block - - sh(*bootstrapper_cmd) unless File.exist?(paket) - sh(*paket_cmd) - end - - self - end - - def bootstrapper_cmd - Mono.invocation(bootstrapper, bootstrapper_args) - end - - def paket_cmd - Mono.invocation(paket, paket_args) - end - end -end +require 'rake/tasklib' + +module Rake + module Funnel + module Tasks + class Paket < Rake::TaskLib + include Rake::Funnel::Support + + attr_accessor :name, :paket, :paket_args, :bootstrapper, :bootstrapper_args + + def initialize(*args, &task_block) + setup_ivars(args) + + define(args, &task_block) + end + + private + def setup_ivars(args) + @name = args.shift || :paket + + @paket = File.join('.paket', 'paket.exe') + @paket_args = 'restore' + + @bootstrapper = File.join('.paket', 'paket.bootstrapper.exe') + @bootstrapper_args = nil + end + + def define(args, &task_block) + desc 'Restore packages' unless Rake.application.last_description + + task(name, *args) do |_, task_args| + task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block + + sh(*bootstrapper_cmd) unless File.exist?(paket) + sh(*paket_cmd) + end + + self + end + + def bootstrapper_cmd + Mono.invocation(bootstrapper, bootstrapper_args) + end + + def paket_cmd + Mono.invocation(paket, paket_args) + end + end + end + end +end