I was looking at this ticket:
and it got me thinking: is there any reason we're not using the tasty
ActiveSupport::JSON encoder to assemble options for the various helper
methods in PrototypeHelper and ScriptaculousHelper?
which is a half-hearted JSON generator that doesn't handle strings vs.
literals very well, let alone nested hashes, arrays, etc. The result is
a bunch of scattered JSON-generating code in the individual helper
methods (e.g. visual_effect()).
It would seem logical to make use of ActiveSupport::JSON instead, and
keep all that knowledge in one place. I've done a bit of experimenting,
and it does seem to make things neater.
currently doesn't automatically add quotes around strings, whereas
AS::JSON does. So there's lots of code in the wild that adds the
single-quotes manually for certain options:
visual_effect(:highlight, "posts", :endcolor => "'#eeeeee'")
We'd probably have to work around this to maintain compatibility, which
might just make the code even more complicated than it is now. So maybe
this is a wild goose chase.