Class: Remi::Extractor

Inherits:
Object
  • Object
show all
Defined in:
lib/remi/extractor.rb

Overview

An extractor is an object meant to extract data from some external system. This is a parent class meant to be inherited by child classes that define specific ways to extract data.

Direct Known Subclasses

DataFrame, FileSystem, None, Postgres, Salesforce, SubJob

Defined Under Namespace

Classes: DataFrame, FileSystem, FileSystemEntry, LocalFile, None, Postgres, S3File, Salesforce, SftpFile, SubJob

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args, logger: Remi::Settings.logger, **kargs, &block) ⇒ Extractor

Returns a new instance of Extractor.



7
8
9
# File 'lib/remi/extractor.rb', line 7

def initialize(*args, logger: Remi::Settings.logger, **kargs, &block)
  @logger = logger
end

Instance Attribute Details

#loggerObject

Returns The logger object used by the extractor.

Returns:

  • (Object)

    The logger object used by the extractor



12
13
14
# File 'lib/remi/extractor.rb', line 12

def logger
  @logger
end

Instance Method Details

#extractObject

Any child classes need to define an extract method that returns data in a format that an appropriate parser can use to convert into a dataframe

Raises:

  • (NoMethodError)


16
17
18
# File 'lib/remi/extractor.rb', line 16

def extract
  raise NoMethodError, "#{__method__} not defined for #{self.class.name}"
end