lib/inventory_refresh/inventory_collection.rb
def inventory_object_class
      @inventory_object_class ||= begin
        klass = Class.new(::InventoryRefresh::InventoryObject)
        klass.add_attributes(inventory_object_attributes) if inventory_object_attributes
        klass
      end
    end
def inventory_object_class
      @inventory_object_class ||= begin
        klass = Class.new(::InventoryRefresh::InventoryObject)
        klass.add_attributes(inventory_object_attributes) if inventory_object_attributes
        klass
      end
    end
def inventory_object_class @inventory_object_class ||= begin klass = Class . new ( :: InventoryRefresh :: InventoryObject ) klass . add_attributes ( inventory_object_attributes ) if inventory_object_attributes klass end end
Creates dynamically a subclass of InventoryRefresh::InventoryObject, that will be used per InventoryCollection
 object. This approach is needed because we want different InventoryObject's getters&setters for each
 InventoryCollection.

 @return [InventoryRefresh::InventoryObject] new isolated subclass of InventoryRefresh::InventoryObject
Creates dynamically a subclass of InventoryRefresh :: InventoryObject that will be used per InventoryCollection object . This approach is needed because we want different InventoryObject s getters&setters for each InventoryCollection .