diff --git a/lib/dossier/multi_report.rb b/lib/dossier/multi_report.rb index f4e7364..b78e0f2 100644 --- a/lib/dossier/multi_report.rb +++ b/lib/dossier/multi_report.rb @@ -12,11 +12,12 @@ def self.combine(*reports) end def initialize(options = {}) + self.options = self.options.to_unsafe_h if self.options.respond_to?(:to_unsafe_h) self.options = options.dup.with_indifferent_access end def reports - @reports ||= self.class.reports.map { |report| + @reports ||= self.class.reports.map { |report| report.new(options).tap { |r| r.parent = self } @@ -30,7 +31,7 @@ def parent def formatter Module.new end - + def dom_id nil end diff --git a/lib/dossier/report.rb b/lib/dossier/report.rb index b67c3c2..98d7e5d 100644 --- a/lib/dossier/report.rb +++ b/lib/dossier/report.rb @@ -23,8 +23,9 @@ def self.inherited(base) def self.filename "#{report_name.parameterize}-report_#{Time.now.strftime('%Y-%m-%d_%H-%M-%S-%Z')}" end - + def initialize(options = {}) + options = options.to_unsafe_h if options.respond_to?(:to_unsafe_h) @options = options.dup.with_indifferent_access end @@ -70,7 +71,7 @@ def dossier_client def renderer @renderer ||= Renderer.new(self) end - + delegate :render, to: :renderer private