class Renamespace::ExpandRelativeRequiresInFileContent

Attributes

content[R]
path[R]

Public Class Methods

new(content:, path:) click to toggle source
# File lib/renamespace/expand_relative_requires_in_file_content.rb, line 10
def initialize(content:, path:)
  @content = content
  @path = path
end

Public Instance Methods

call() click to toggle source
# File lib/renamespace/expand_relative_requires_in_file_content.rb, line 15
def call
  content
    .gsub(/require_relative '([^']+)'/) do
      "require '%s'" % expanded_require_path($1)
    end
end

Private Instance Methods

expanded_require_path(relative_require_path) click to toggle source
# File lib/renamespace/expand_relative_requires_in_file_content.rb, line 26
def expanded_require_path(relative_require_path)
  joined_path = File.join(require_dir, relative_require_path)
  Pathname.new(joined_path).cleanpath
end
require_dir() click to toggle source
# File lib/renamespace/expand_relative_requires_in_file_content.rb, line 31
def require_dir
  dir = Renamespace::Directories.dir_for_file_path(path)
  Renamespace::Paths.require_for_path(dir)
end