Sha256: 4fd4326fce5ee1cd3920eab5137290c963f91c210c5fb1032c306ecee56bd26f
Contents?: true
Size: 988 Bytes
Versions: 7
Compression:
Stored size: 988 Bytes
Contents
# -*- encoding : utf-8 -*- module Kabutops module Adapters class DatabaseAdapter < Base include Extensions::Logging include Extensions::CallbackSupport attr_reader :recipe callbacks :after_save, :save_if def data &block @recipe = Recipe.new @recipe.instance_eval &block end def process resource, page raise 'data block not defined' unless @recipe result = @recipe.process(resource, page) result.update(updated_at: Time.now.to_i) save = (notify(:save_if, resource, page, result) || []).all? if debug logger.info("#{self.class.to_s} outputs:") logger.info(save ? result.to_hash : 'not valid for save') elsif save store(result) notify(:after_save, result) end end def store result raise NotImplementedError end def nested? raise NotImplementedError end end end end
Version data entries
7 entries across 7 versions & 1 rubygems