module Eco module API module Common module Loaders class Base extend Eco::API::Common::ClassHelpers include Eco::Language::AuxiliarLogger class << self # Sort order def <=>(other) created_at <=> other.created_at end # If still not set, it sets the `created_at` class timestamp. def set_created_at! @created_at = Time.now unless @created_at end # Class creation timestamp, to be able to load them in the order they were declared. def created_at @created_at ||= Time.now end end # This method will be called when the BaseLoader is created # @note # - this method should implement the loading logics for the given `Children` class. def initialize raise "You should implement this method" end def name self.class.name end private def session @session ||= ASSETS.session end def options @options ||= {} end def config session.config end def micro session.micro end def abort(msg, raising: true) logger.error(msg) if raising raise msg else exit(1) end end end end end end end