Class: Renamespace::RenameWithinFileContent
- Inherits:
-
Object
- Object
- Renamespace::RenameWithinFileContent
- Defined in:
- lib/renamespace/rename_within_file_content.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(paths:, content:, can_omit_prefixes_count:, replacements_logger:) ⇒ RenameWithinFileContent
constructor
A new instance of RenameWithinFileContent.
- #namespace_elements_dest ⇒ Object
- #namespace_elements_source ⇒ Object
- #replace_references(content) ⇒ Object
- #replace_require_paths(content) ⇒ Object
- #replace_str ⇒ Object
- #search_regex ⇒ Object
- #search_str ⇒ Object
Constructor Details
#initialize(paths:, content:, can_omit_prefixes_count:, replacements_logger:) ⇒ RenameWithinFileContent
Returns a new instance of RenameWithinFileContent.
7 8 9 10 11 12 |
# File 'lib/renamespace/rename_within_file_content.rb', line 7 def initialize(paths:, content:, can_omit_prefixes_count:, replacements_logger:) @paths = paths @content_orig = content @can_omit_prefixes_count = can_omit_prefixes_count @replacements_logger = replacements_logger end |
Instance Method Details
#call ⇒ Object
14 15 16 17 18 |
# File 'lib/renamespace/rename_within_file_content.rb', line 14 def call content_orig .then(&method(:replace_require_paths)) .then(&method(:replace_references)) end |
#namespace_elements_dest ⇒ Object
50 51 52 |
# File 'lib/renamespace/rename_within_file_content.rb', line 50 def namespace_elements_dest @namespace_elements_dest ||= paths.destination_namespace_elements end |
#namespace_elements_source ⇒ Object
46 47 48 |
# File 'lib/renamespace/rename_within_file_content.rb', line 46 def namespace_elements_source @namespace_elements_source ||= paths.source_namespace_elements end |
#replace_references(content) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/renamespace/rename_within_file_content.rb', line 24 def replace_references(content) (1 + can_omit_prefixes_count).times do replacements_logger.log(search_str, replace_str) content = content.gsub(search_regex, replace_str) namespace_elements_source.shift namespace_elements_dest.shift end content end |
#replace_require_paths(content) ⇒ Object
20 21 22 |
# File 'lib/renamespace/rename_within_file_content.rb', line 20 def replace_require_paths(content) content.gsub(paths.source_require_path, paths.destination_require_path) end |
#replace_str ⇒ Object
42 43 44 |
# File 'lib/renamespace/rename_within_file_content.rb', line 42 def replace_str namespace_elements_dest.join('::') end |
#search_regex ⇒ Object
34 35 36 |
# File 'lib/renamespace/rename_within_file_content.rb', line 34 def search_regex /\b#{namespace_elements_source.join('::')}\b/ end |
#search_str ⇒ Object
38 39 40 |
# File 'lib/renamespace/rename_within_file_content.rb', line 38 def search_str namespace_elements_source.join('::') end |