class TestsDoc::File
Public Instance Methods
write_if_changed()
click to toggle source
# File lib/tests_doc/file.rb, line 7 def write_if_changed ensure_folder if write_output? ::File.open(path, 'w+') do |f| f.write(output) end end end
Private Instance Methods
changes_whitelist()
click to toggle source
# File lib/tests_doc/file.rb, line 52 def changes_whitelist whitelist_option = if TestsDoc.configuration.changes_whitelist_regexes.any? TestsDoc.configuration.changes_whitelist_regexes else TestsDoc.configuration.changes_whitelist_regex end Regexp.union([whitelist_option, options[:whitelist]].flatten.compact) end
ensure_folder()
click to toggle source
# File lib/tests_doc/file.rb, line 45 def ensure_folder dirname = ::File.dirname(path) unless ::File.directory?(dirname) ::FileUtils.mkdir_p(dirname) end end
filtered_file_content()
click to toggle source
# File lib/tests_doc/file.rb, line 37 def filtered_file_content @filtered_file_content ||= ::File.read(path).gsub(changes_whitelist, "") end
filtered_output()
click to toggle source
# File lib/tests_doc/file.rb, line 41 def filtered_output @filtered_output ||= output.gsub(changes_whitelist, "") end
response_changed?()
click to toggle source
# File lib/tests_doc/file.rb, line 25 def response_changed? if TestsDoc.configuration.debug diff = filtered_file_content.split("\n") - filtered_output.split("\n") TestsDoc.configuration.logger.puts("DIFF: #{diff}") diff.size > 0 else filtered_file_content != filtered_output end end
write_output?()
click to toggle source
# File lib/tests_doc/file.rb, line 19 def write_output? return true unless ::File.file?(path) response_changed? end