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