-- Adjust require() to handle both unix and windows file seperators require("Ace2/AceLibrary/AceLibrary.lua") require("Ace2/AceOO-2.0/AceOO-2.0.lua") local AceOO = AceLibrary("AceOO-2.0") local Class = AceOO.Class local Mixin = AceOO.Mixin local myMixin = Mixin { "Test" } function myMixin:Test() return "Test-1" end AceLibrary:Register(myMixin, "myMixin", 1, myMixin.activate) myMixin = nil local myClass = Class("myMixin") AceLibrary:Register(myClass, "myClass", 1) myClass = nil local instance = AceLibrary("myClass"):new() assert(instance:Test() == "Test-1") local myMixin = Mixin { "Test" } function myMixin:Test() return "Test-2" end AceLibrary:Register(myMixin, "myMixin", 2, myMixin.activate) assert(instance:Test() == "Test-2") assert(AceLibrary("myClass"):new():Test() == "Test-2")