lib/leftovers/file.rb in leftovers-0.7.0 vs lib/leftovers/file.rb in leftovers-0.8.0

- old
+ new

@@ -16,64 +16,18 @@ return @test if defined?(@test) @test = Leftovers.config.test_paths.allowed?(relative_path) end - def ruby # rubocop:disable Metrics/MethodLength, Metrics/AbcSize - precompiled = [] - precompile = false + def ruby + read = self.read - if haml? - precompiled << ::Leftovers::Haml.precompile(read, self) - precompile = true - end + precompiled = ::Leftovers.config.precompilers.map do |precompiler| + precompiler.precompile(read, self) + end.compact - if json? - precompiled << ::Leftovers::JSON.precompile(read, self) - precompile = true - end + return read if precompiled.empty? - if erb? - precompiled << ::Leftovers::ERB.precompile(read, self) - precompile = true - end - - if slim? - precompiled << ::Leftovers::Slim.precompile(read, self) - precompile = true - end - - if yaml? - precompiled << ::Leftovers::YAML.precompile(read, self) - precompile = true - end - - if precompile - precompiled.join("\n") - else - read - end - end - - private - - def erb? - Leftovers.config.erb_paths.allowed?(relative_path) - end - - def haml? - Leftovers.config.haml_paths.allowed?(relative_path) - end - - def yaml? - Leftovers.config.yaml_paths.allowed?(relative_path) - end - - def json? - Leftovers.config.json_paths.allowed?(relative_path) - end - - def slim? - Leftovers.config.slim_paths.allowed?(relative_path) + precompiled.join("\n") end end end