class Dehenzify::ExtractedSource

Attributes

node[RW]

Public Instance Methods

delete!() click to toggle source
# File lib/dehenzify/extracted_source.rb, line 38
def delete!
  File.delete(target_file_path) if exists?
end
empty?() click to toggle source
# File lib/dehenzify/extracted_source.rb, line 24
def empty?
  source.blank? || Dehenzify::Extractor.empty_node?(Parser::CurrentRuby.parse(source))
end
exists?() click to toggle source
# File lib/dehenzify/extracted_source.rb, line 28
def exists?
  File.exists?(target_file_path)
end
namespaced_source() click to toggle source
# File lib/dehenzify/extracted_source.rb, line 6
def namespaced_source
  raw_namespaced_source = source

  namespace_modules.reverse_each.with_index(1) do |module_name, index|
    space_offset = '  ' * (namespace_modules.size - index)

    modulized_source = ''
    modulized_source << "module #{module_name}" << "\n"
    modulized_source << space_offset << '  '
    modulized_source << raw_namespaced_source << "\n"
    modulized_source << space_offset << 'end'
    raw_namespaced_source = modulized_source
  end if namespace_modules

  raw_namespaced_source << "\n" unless raw_namespaced_source.end_with?("\n")
  raw_namespaced_source
end
write!() click to toggle source
# File lib/dehenzify/extracted_source.rb, line 32
def write!
  FileUtils.mkdir_p(File.dirname(target_file_path))
  File.write(target_file_path, namespaced_source)
  target_file_path
end