class Pansophy::Local::CreateFile

Public Class Methods

new(path, body) click to toggle source
# File lib/pansophy/local/create_file.rb, line 6
def initialize(path, body)
  @pathname = Pathname.new(path)
  @body     = body
end

Public Instance Methods

call(options = {}) click to toggle source
# File lib/pansophy/local/create_file.rb, line 11
def call(options = {})
  prevent_overwrite! unless options[:overwrite]
  @pathname.dirname.mkpath
  ::File.open(@pathname, 'wb') do |f|
    f.write @body
  end
end

Private Instance Methods

prevent_overwrite!() click to toggle source
# File lib/pansophy/local/create_file.rb, line 21
def prevent_overwrite!
  return unless @pathname.exist?
  fail ArgumentError,
       "#{@pathname} already exists, pass ':overwrite => true' to overwrite"
end