2014-10-09 20:12:44 +00:00

27 lines
623 B
Ruby

module Producer
module Core
module Actions
class Mkdir < Action
def setup
check_arguments_size! 1
@path = Pathname.new(arguments.first)
@options[:permissions] = @options.delete :mode if @options.key? :mode
@options[:owner] = @options.delete :user if @options.key? :user
end
def name
'mkdir'
end
def apply
@path.descend do |p|
next if fs.dir? p
fs.mkdir p.to_s
fs.setstat p.to_s, @options unless @options.empty?
end
end
end
end
end
end