module SmartCore::Initializer::Attribute::Finalizer

@api private @since 0.1.0

Public Class Methods

create(finalization_approach) click to toggle source

@param finalization_approach [String, Symbol, Proc] @return [SmartCore::Initializer::Attribute::Finalizer::InstanceMethod] @return [SmartCore::Initializer::Attribute::Finalizer::AnonymousBlock]

@api private @since 0.1.0

# File lib/smart_core/initializer/attribute/finalizer.rb, line 17
    def create(finalization_approach)
      case finalization_approach
      when String, Symbol
        InstanceMethod.new(finalization_approach)
      when Proc
        AnonymousBlock.new(finalization_approach)
      else
        # :nocov:
        raise(SmartCore::Initializer::ArgumentError, <<~ERROR_MESSAGE)
          Finalization approach should be a type of Proc, Symbol or String'
        ERROR_MESSAGE
        # :nocov:
      end
    end