Skip to content

Instantly share code, notes, and snippets.

@elia

elia/asdf.js Secret

Created October 14, 2013 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elia/b58c0a6561ae3b48de62 to your computer and use it in GitHub Desktop.
Save elia/b58c0a6561ae3b48de62 to your computer and use it in GitHub Desktop.
def.$add_observer = function(observer, func) {
var $arity = arguments.length;if ($arity < 1) { $opal.ac($arity, -2, this, "add_observer"); }
var self = this, $a, $b;
if (self.observer_peers == null) self.observer_peers = nil;
if (func == null) {
func = "update"
}
if (($a = (
(
(
console.log([
'IVAR',
("observer_peers" || 'UNDEF'),
self.hasOwnProperty("observer_peers"),
self["observer_peers"]
].$inspect()),
$b = self["observer_peers"],
(self.hasOwnProperty("observer_peers") && $b != null) ||
(!self.hasOwnProperty("observer_peers") && $b !== nil)
)
) ? 'instance-variable' : nil
)) === false || $a === nil) {
self.observer_peers = $hash2([], {})
};
if (($a = observer['$respond_to?'](func)) === false || $a === nil) {
self.$raise((($a = $scope.NoMethodError) == null ? $opal.cm("NoMethodError") : $a), "observer does not respond to `" + (func.$to_s()) + "'")
};
return self.observer_peers['$[]='](observer, func);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment