module FileMutate

Public Class Methods

add_all(clazz) click to toggle source
# File lib/file_mutation.rb, line 30
def self.add_all clazz
  add_mutate_exts clazz, mutate_apis
end
add_mutate_exts(clazz, *names) click to toggle source
# File lib/file_mutation.rb, line 34
def self.add_mutate_exts clazz, *names
  names.flat_uniq!
  unknowns = (names - mutate_apis)
  raise ArgumentError, "Unknown FileMutate APIs: #{unknowns}, must be one of: #{mutate_apis}" if !unknowns.empty?
  names.each do |api|
    ns = "FileMutate::#{api.to_s.camelize}"
    begin
      clazz.send :include, ns.constantize
      clazz.extend "#{ns}::ClassMethods".constantize
    end
  end
end
mutate_apis() click to toggle source
# File lib/file_mutation.rb, line 26
def self.mutate_apis
  [:delete, :mutate, :append_content, :insert_content, :overwrite_content, :remove_content, :replace_content]
end