Sha256: 8b4c3ed8f7d289dbef5d8af13bfb1ec632e2fc866c7c014a3f285155ecab0874

Contents?: true

Size: 674 Bytes

Versions: 4

Compression:

Stored size: 674 Bytes

Contents

module GreyscaleRecord
  module Drivers
    class Base

      attr_reader :root

      def initialize( root )
        @root = root
      end
      
      def load!(object)

        raise GreyscaleRecord::Errors::DriverError, "driver needs to define a `root`" unless root
        
        data = load_data(object)
        
        GreyscaleRecord.logger.info "#{object} successfully loaded data"

        data

      rescue => e
        GreyscaleRecord.logger.error "#{self.class} failed to load data for #{object}: #{e}`"
        {}
      end

      private 

      def load_data
        raise NotImplementedError, "load_data is not implemented"
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
greyscale_record-1.0.3 lib/greyscale_record/drivers/base.rb
greyscale_record-1.0.2 lib/greyscale_record/drivers/base.rb
greyscale_record-1.0.1 lib/greyscale_record/drivers/base.rb
greyscale_record-1.0.0 lib/greyscale_record/drivers/base.rb