lib/exporter/exporter.rb in exporter-0.0.3 vs lib/exporter/exporter.rb in exporter-0.1.0

- old
+ new

@@ -1,14 +1,22 @@ module Exporter class Exporter def self.export(data, options) - document = process(data, options) + document = exporter.process(data, options) raise TypeError.new('process method must return an Document object') unless document.kind_of? Document document end + def self.exporter + @exporter ||= self.new + end + protected - def self.process(data, options) + def process(data, options) raise NotImplementedError.new("You must implement this process method.") + end + + def is_active_record?(data, options) + (data.kind_of? ActiveRecord::Relation) || (data.kind_of?(Array) && data[0].kind_of?(ActiveRecord::Base)) end end end \ No newline at end of file