Sha256: 04329124fcca99b6a268e123c40b091d7f5eca2b30a7aa8a31d4418edd7e9af9
Contents?: true
Size: 1.69 KB
Versions: 4
Compression:
Stored size: 1.69 KB
Contents
module Eco module API module Common class BaseLoader extend Eco::API::Common::ClassHelpers class << self attr_writer :name, :type # The name that this case, policy or error handler will have. def name(value = nil) name_only_once! if value set_created_at! return @name ||= self.to_s unless value @name = value end # 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 # Prevent the same class to be re-opened/re-named def name_only_once! raise "You have already declared #{self} or you are trying to give it a name twice" if @name 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 micro session.micro end def config @config ||= ASSETS.config end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems