Wednesday, February 02, 2011

How it Works - Robotlegs - Part 4

The "How it Works" video series explains how the inner details of popular libraries work so that you can use the same solutions in your own projects.

6 comments:

  1. Thanks for this. I think most advanced developers understand the concept of Injection, but it's very interesting to see a simple implementation of it! Great video.

    ReplyDelete
  2. Ditto what Ace said. Been using Swift Suspenders but it's great to see it from scratch.

    ReplyDelete
  3. DaveW5:55 PM

    When I add -keep-as3-metadata+=Inject I'm getting some extra metadata that isn't in your video: __go_to_definition_help and it has two args, file, which is the location to my ViewMediator.as file, and pos. This is messing up the example, because it makes variable.metadata.@name == "Inject__go_to_definition_help". I can still get the example to work by using if (variable.metadata.(@name == "Inject") != undefined), just curious if you know why this extra metadata is there. It looks like it's metadata that Eclipse uses to jump to a definition, just not sure why it's in the .as file.

    ReplyDelete
  4. johnlindquist11:28 AM

    I honestly have no idea. You could try changing:

    -keep-as3-metadata+=Inject

    to

    -keep-as3-metadata=Inject (remove the "+")

    so that it might not append any metadata that's trying to be stored from elsewhere? But if you add any additional metadata beyond "Inject", then you'd have to use +=.

    ReplyDelete
  5. After some Googling it seems it's added only for debug builds, and you don't have to use -keep-as3-metadata anymore. Apparently this is new to the Flex 4 compiler.

    ReplyDelete
  6. johnlindquist12:11 PM

    Cool, thanks for the update.

    ReplyDelete