lib/fixer_upper/renovation.rb in fixer_upper-0.1.0 vs lib/fixer_upper/renovation.rb in fixer_upper-0.2.0
- old
+ new
@@ -1,9 +1,10 @@
class FixerUpper
class Renovation
- def initialize(registry)
+ def initialize(registry, options)
@registry = registry
+ @options = options
end
def renovate(filepath, contents, bang:)
text = file_contents(filepath, contents)
@@ -12,10 +13,16 @@
def diy(text, *engines, bang:)
mapped_engines = map_engines(engines, bang: bang).compact
mapped_engines.reduce(text) do |memo, engine|
- engine.call(memo)
+ default_options = @options[engine]
+
+ if default_options && engine.method(:call).parameters.count >= 2
+ engine.call(memo, **default_options)
+ else
+ engine.call(memo)
+ end
end
end
private