2014-10-08 22:36:27 +00:00

33 lines
672 B
Ruby

module Producer
module Core
module Actions
class Mkdir < Action
def initialize(env, *args, **options)
super
@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
private
def path
Pathname.new(arguments.first)
end
end
end
end
end