ruby-jquery: jQuery Expression Generator
String-jQuery written by id:motemen intrigued me. I tried to port it to Ruby:
It's almost the same as the original one except one big difference.
require 'jquery' jQuery() #=> jQuery() jQuery('a') #=> jQuery("a") jQuery(:document) #=> jQuery(document) jQuery('a').text() #=> jQuery("a").text() jQuery('a').text('aaa') #=> jQuery("a").text("aaa") jQuery('a').foo(['a', 'b']) #=> jQuery("a").foo(["a","b"]) jQuery('a').foo({'a' => 'b'}) #=> jQuery("a").foo({"a":"b"}) jQuery('a').click(->(f) { f.e 'return true' }) #=> jQuery("a").click(function (e) { return true }) jQuery('#content').show().on('click', 'a', ->(f) { f.e 'return true' }) #=> jQuery("#content").show().on("click","a",function (e) { return true })
The difference is this Ruby porting can't handle JavaScript property access like below:
jQuery.ajax(...)
jQuery('a').length
However, can I achieve it with Ruby?