<script type="text/javascript">
(function(e){function l(){return f==true?false:window.DeviceOrientationEvent!=undefined}function c(e){x=e.gamma;y=e.beta;if(Math.abs(window.orientation)===90){var t=x;x=y;y=t}if(window.orientation<0){x=-x;y=-y}u=u==null?x:u;a=a==null?y:a;return{x:x-u,y:y-a}}function h(e){if((new Date).getTime()<r+n)return;r=(new Date).getTime();var t=s.offset()!=null?s.offset().left:0,u=s.offset()!=null?s.offset().top:0,a=e.pageX-t,h=e.pageY-u;if(a<0||a>s.width()||h<0||h>s.height())return;if(l()){if(e.gamma==undefined){f=true;return}values=c(e);a=values.x/30;h=values.y/30}var p=a/(l()==true?o:s.width()),d=h/(l()==true?o:s.height()),v,m;for(m=i.length;m--;){v=i[m];newX=v.startX+v.inversionFactor*v.xRange*p;newY=v.startY+v.inversionFactor*v.yRange*d;if(v.background){v.obj.css("background-position",newX+"px "+newY+"px")}else{v.obj.css("left",newX).css("top",newY)}}}var t=25,n=1/t*1e3,r=(new Date).getTime(),i=[],s=e(window),o=1,u=null,a=null,f=false;e.fn.plaxify=function(t){return this.each(function(){var n=-1;var r={xRange:e(this).data("xrange")||0,yRange:e(this).data("yrange")||0,invert:e(this).data("invert")||false,background:e(this).data("background")||false};for(var s=0;s<i.length;s++){if(this===i[s].obj.get(0)){n=s}}for(var o in t){if(r[o]==0){r[o]=t[o]}}r.inversionFactor=r.invert?-1:1;r.obj=e(this);if(r.background){pos=(r.obj.css("background-position")||"0px 0px").split(/ /);if(pos.length!=2){return}x=pos[0].match(/^((-?\d+)\s*px|0+\s*%|left)$/);y=pos[1].match(/^((-?\d+)\s*px|0+\s*%|top)$/);if(!x||!y){return}r.startX=x[2]||0;r.startY=y[2]||0}else{var u=r.obj.position();r.obj.css({top:u.top,left:u.left,right:"",bottom:""});r.startX=this.offsetLeft;r.startY=this.offsetTop}r.startX-=r.inversionFactor*Math.floor(r.xRange/2);r.startY-=r.inversionFactor*Math.floor(r.yRange/2);if(n>=0){i.splice(n,1,r)}else{i.push(r)}})};e.plax={enable:function(t){e(document).bind("mousemove.plax",function(n){if(t){s=t.activityTarget||e(window)}h(n)});if(l()){window.ondeviceorientation=function(e){h(e)}}},disable:function(t){e(document).unbind("mousemove.plax");window.ondeviceorientation=undefined;if(t&&typeof t.clearLayers==="boolean"&&t.clearLayers)i=[]}};if(typeof ender!=="undefined"){e.ender(e.fn,true)}})(function(){return typeof jQuery!=="undefined"?jQuery:ender}())
</script>
<script type="text/javascript">
// Plaxify all `js-plaxify` element layers
var layers = $('.js-plaxify')
$.each(layers, function(index, layer){
$(layer).plaxify({
xRange: $(layer).data('xrange') || 0,
yRange: $(layer).data('yrange') || 0,
invert: $(layer).data('invert') || false
})
})
$.plax.enable()
$.ajax({
url: '/sessions/login_404?return_to='+window.location.pathname,
success: function(data) {
if (data != ' ') {
$('#auth').html(data).slideDown(100)
$('#login_field').attr("placeholder", "Username or Email")
$('#password').attr("placeholder", "Password")
}
}
});
$(document).on('keydown', function(event) {
if (event.target === document.body && event.keyCode === 192 && !event.metaKey) {
$('#parallax_wrapper').css('-webkit-filter','grayscale(25%)')
document.cookie = 'stats=yes; path=/';
setTimeout(function() {
location.reload();
}, 250)
return false;
}
})
</script>
</noscript>
## Using the Caller Method
The caller method is defined within Kernel and returns the current execution stack. You can specify an optional start parameter which will suppress _n_ number of stack entries to omit. With the above command in your ~/.pryrc file you can call caller_method and pass in the stack depth and it will return you the file, line, and method of that stack level. Pretty neat.
As it turns out this didn't particularly help me to fix the bug, but nevertheless I found the method useful and hopefully you will too. I have a few ideas about making it accept a range so that I can specify the depth and see the level (like the above method) as well as its context.
Thanks for reading. ^_^
#### References
<span style="font-size:12px;">1.) [Michael Grosser's Class for using Caller Method, 2009](http://grosser.it/2009/07/01/getting-the-caller-method-in-ruby/)</span><br/>
<span style="font-size:12px;">2.) [Give it a Pry, 2011](http://www.jonathan-jackson.net/give-it-a-pry)</span><br/>
####Additional References
<span style="font-size:12px;">[Ruby Core Docs Kernel#caller](http://www.ruby-doc.org/core-1.9.2/Kernel.html#method-i-caller)</span><br/>
<span style="font-size:12px;">[Ruby issue about possibly creating a new backtrace for caller](http://redmine.ruby-lang.org/issues/1906)</span><br/>