module NRSER::Props::Immutable::Hash

Mixin for classes that extend {Hamster::Hash} and will use itself as the property value storage.

Constants

STORAGE

Constants

Public Class Methods

included(base) click to toggle source

Module Methods

# File lib/nrser/props/immutable/hash.rb, line 39
  def self.included base
    unless base < Hamster::Hash
      raise binding.erb <<~END
        This class is only for including in {Hamster::Hash} subclasses!
      END
    end
    
    base.include NRSER::Props
    base.metadata.storage STORAGE
    base.metadata.freeze
    
    base.extend ClassMethods
    base.include InstanceMethods
  end