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
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