Skip to content

Instantly share code, notes, and snippets.

View neilmanuell's full-sized avatar

neil manuell neilmanuell

View GitHub Profile
@neilmanuell
neilmanuell / newStateDeclarationForGuardedCommands.xml
Created March 17, 2011 12:58
New xml declaration incorporating command guards for robotLegs/signal flavoured (as3)statemachine
<!-- Root declaration unchanged -->
<fsm initial="starting">
<!--
State declaration with unique name.
The phase signal attribute declarations have been migrated to child elements.
-->
<state name="starting">
<!-- Declaration for enteringGuard signal -->
<enteringGuard>
<!--
@neilmanuell
neilmanuell / PlayingCard.as
Created March 24, 2011 12:20
example of enumberation type
package {
public class PlayingCard {
public static const SIX_OF_CLUBS:PlayingCard = new PlayingCard( "clubs", 6);
public static const JACK_OF_HEARTS:PlayingCard = new PlayingCard( "hearts", 11);
private var _index:int;
private var _suit:String;
public function PlayingCard(suit:String, index:int) {
@neilmanuell
neilmanuell / PlayingCardWithData.as
Created March 24, 2011 12:22
example of enumber but with muatable data property
package {
public class PlayingCard {
public static const SIX_OF_CLUBS:PlayingCard = new PlayingCard( "clubs", 6);
public static const JACK_OF_HEARTS:PlayingCard = new PlayingCard( "hearts", 11);
private var _index:int;
private var _suit:String;
private var _data:Object;
@neilmanuell
neilmanuell / IModule.as
Created May 8, 2011 15:46
IModule influenced by jhooks Modular utility for Robotlegs
package org.robotlegs.utilities.modular.core
{
import org.robotlegs.core.IInjector;
public interface IModule {
function injectClient(value:IInjector):void;
function dispose():void;
@neilmanuell
neilmanuell / IModuleRequest.as
Created May 9, 2011 12:13
The contract between module and its client
package revisual.modular.core {
import org.osflash.signals.ISignal;
public interface IModuleRequest {
function get callback():ISignal;
function requestData( id:Object ):void
}
}
@neilmanuell
neilmanuell / ModuleRequest.as
Created May 9, 2011 12:19
Concrete IModuleRequest example
package revisual.modular.requests {
import revisual.modular.core.IModuleRequest;
import revisual.modular.signals.ModuleRequestSignal;
import revisual.modular.signals.RequestCallbackSignal;
import org.osflash.signals.ISignal;
public class ModuleRequest implements IModuleRequest {
@neilmanuell
neilmanuell / RequestCallbackSignal.as
Created May 9, 2011 12:31
Strictly typed SingleSignal for ModuleRequest callback
package revisual.modular.signals {
import org.osflash.signals.SingleSignal;
public class RequestCallbackSignal extends SingleSignal {
public function RequestCallbackSignal() {
super( Boolean, Object, IModuleRequest );
}
}
}
@neilmanuell
neilmanuell / ModuleRequestSignal.as
Created May 9, 2011 12:51
Strictly typed SingleSignal for IModuleRequest
package revisual.modular.signals {
import revisual.modular.core.IModuleRequest;
import org.osflash.signals.SingleSignal;
public class ModuleRequestSignal extends SingleSignal {
public function ModuleRequestSignal() {
super( IModuleRequest );
}
}
@neilmanuell
neilmanuell / MyModule.as
Created May 9, 2011 12:53
Simple Robotlegs module with non child injector
package revisual.modular {
import org.robotlegs.adapters.SwiftSuspendersInjector;
import org.robotlegs.core.IInjector;
import org.robotlegs.utilities.modular.core.IModule;
import revisual.modular.requests.ModuleRequest;
import revisual.modular.core.IModuleRequest;
import revisual.modular.signals.ModuleRequestSignal;
public class MyModule implements IModule {
@neilmanuell
neilmanuell / two-asserts-in-test.as
Created June 1, 2011 16:00 — forked from alecmce/two-asserts-in-test.as
I don't understand why one assert per test is superior
// the code
class eg
{
public var width:int;
public var height:int;
public function eg(width:int, height:int)
{
this.width = width;