class Pineapples::Actions::EmptyDirectory

Attributes

skip[R]
target[R]

Public Class Methods

new(generator, target, options = {}) click to toggle source
Calls superclass method Pineapples::Actions::Action::new
# File lib/pineapples/actions/empty_directory.rb, line 25
def initialize(generator, target, options = {})
  super(generator, options)

  @target = Target.new(target, generator)
  @skip = @target.skip?
end

Public Instance Methods

exists?() click to toggle source
# File lib/pineapples/actions/empty_directory.rb, line 44
def exists?
  ::File.exist?(target.fullpath)
end
invoke!() click to toggle source
# File lib/pineapples/actions/empty_directory.rb, line 32
def invoke!
  invoke_with_conflict_check do
    ::FileUtils.mkdir_p(target.fullpath)
  end
end
revoke!() click to toggle source
# File lib/pineapples/actions/empty_directory.rb, line 38
def revoke!
  say_status :remove
  ::FileUtils.rm_rf(target.fullpath) if execute? && exists?
  given_target
end

Protected Instance Methods

invoke_with_conflict_check(&block) click to toggle source
# File lib/pineapples/actions/empty_directory.rb, line 50
def invoke_with_conflict_check(&block)
  if exists?
    on_conflict_behaviour(&block)
  else
    say_status :create
    block.call if execute?
  end

  target.fullpath
end
message() click to toggle source
# File lib/pineapples/actions/empty_directory.rb, line 65
def message
  target.relative
end
on_conflict_behaviour(&block) click to toggle source
# File lib/pineapples/actions/empty_directory.rb, line 61
def on_conflict_behaviour(&block)
  say_status :exist
end