The Web Portal uses a completely different language (Javascript instead of Ruby) and framework (EmberJS) than the game engine/plugins/etc. That’s the bad news.
The good news is that most games won’t need to modify the Portal code. The Portal offers core functionality that is going to be common across most - if not all - games. The style is highly configurable without even needing to touch the code at all.
EmberJS is a Javascript web application framework. It gets its raw data from the game server, but otherwise everything is handled client-side (in the browser). This allows a more responsive and interactive player experience overall. It also minimizes load on the server, which is important because MU servers tend to be running on bare-bones hardware.
See Learning Ember for some helpful tutorials on the language itself.
An Ember screen consists of three basic parts:
In addition, Ember also has some utilities that are used by many screens.
includes
in Ruby - they make common utilities available to screens that need them.Finally, the Game Api allows the Web Portal to communicate with the game engine.