Sha256: ba9767497fce98194d048a1e54479c110e72b849306f9ee71c65f03ec644188f
Contents?: true
Size: 855 Bytes
Versions: 2
Compression:
Stored size: 855 Bytes
Contents
# frozen_string_literal: true module Pups class FileCommand < Pups::Command attr_accessor :path, :contents, :params, :type, :chmod, :chown def self.from_hash(hash, params) command = new command.path = hash['path'] command.contents = hash['contents'] command.chmod = hash['chmod'] command.chown = hash['chown'] command.params = params command end def initialize @params = {} @type = :bash end attr_writer :params def run path = interpolate_params(@path) `mkdir -p #{File.dirname(path)}` File.open(path, 'w') do |f| f.write(interpolate_params(contents)) end `chmod #{@chmod} #{path}` if @chmod `chown #{@chown} #{path}` if @chown Pups.log.info("File > #{path} chmod: #{@chmod} chown: #{@chown}") end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pups-1.1.1 | lib/pups/file_command.rb |
pups-1.1.0 | lib/pups/file_command.rb |