Skip to content

Instantly share code, notes, and snippets.

@TonyStrauss
Created February 9, 2012 15:52
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 TonyStrauss/1780772 to your computer and use it in GitHub Desktop.
Save TonyStrauss/1780772 to your computer and use it in GitHub Desktop.
etrog:~/slideshow_director tony$ bundle exec test3.rb boog.json
======================================================================
Ruby:
{:sections=>
[{:values=>
[[0.8, 0.014, 7.282, 2.0],
[1.3, 0.01, 1.548, 4.0],
[1.74, 0.009, 1.226, 4.0],
[2.16, 0.015, 2.148, 4.0],
[2.6, 0.011, 1.283, 4.0],
[3.08, 0.011, 2.334, 4.0],
[3.52, 0.008, 1.391, 2.0],
[4.04, 0.007, 1.344, 2.0],
[4.48, 0.008, 1.392, 4.0],
[4.98, 0.007, 0.0, 2.0],
[5.48, 0.009, 3.476, 2.0],
[5.98, 0.011, 1.429, 3.0],
[6.44, 0.013, 2.761, 2.0],
[6.9, 0.009, 0.0, 2.0],
[7.36, 0.009, 3.122, 3.0],
[7.9, 0.012, 1.261, 2.0],
[8.31, 0.011, 1.866, 3.0],
[8.92, 0.014, 3.36, 3.0],
[9.4, 0.011, 1.748, 2.0],
[9.87, 0.014, 3.39, 2.0],
[10.39, 0.02, 3.934, 3.0],
[10.9, 0.016, 1.455, 4.0],
[11.33, 0.014, 3.89, 3.0],
[11.81, 0.016, 1.492, 3.0],
[12.26, 0.015, 2.539, 3.0]]},
{:values=>
[[12.72, 0.013, 1.603, 2.0],
[13.2, 0.014, 1.695, 4.0],
[13.63, 0.019, 1.204, 4.0],
[14.09, 0.03, 4.661, 3.0],
[14.56, 0.014, 0.0, 3.0],
[15.03, 0.024, 3.407, 2.0],
[15.505, 0.012, 0.0, 2.0],
[15.98, 0.013, 5.705, 2.0],
[16.48, 0.014, 1.938, 4.0],
[16.95, 0.036, 3.445, 3.0],
[17.46, 0.031, 4.438, 4.0],
[17.95, 0.012, 2.33, 3.0],
[18.42, 0.016, 1.308, 4.0],
[18.98, 0.038, 5.705, 3.0],
[19.46, 0.034, 4.929, 4.0],
[19.92, 0.034, 3.201, 3.0],
[20.37, 0.015, 6.915, 3.0],
[20.86, 0.016, 1.99, 4.0],
[21.35, 0.014, 2.032, 3.0],
[21.87, 0.028, 5.3, 3.0],
[22.33, 0.048, 10.635, 5.0],
[22.88, 0.037, 2.587, 3.0],
[23.33, 0.017, 2.025, 4.0],
[23.84, 0.025, 1.719, 4.0],
[24.33, 0.023, 5.131, 2.0],
[24.81, 0.011, 2.574, 4.0],
[25.27, 0.017, 1.99, 4.0],
[25.77, 0.018, 3.276, 5.0],
[26.28, 0.019, 2.877, 4.0],
[26.76, 0.017, 2.56, 3.0],
[27.2, 0.019, 1.406, 5.0],
[27.8, 0.022, 3.058, 3.0],
[28.31, 0.015, 5.911, 3.0],
[28.76, 0.019, 2.144, 4.0],
[29.28, 0.01, 2.434, 3.0],
[29.75, 0.008, 1.692, 3.0],
[30.31, 0.008, 0.974, 3.0],
[30.82, 0.022, 3.487, 3.0],
[31.35, 0.015, 3.968, 3.0],
[31.87, 0.012, 2.304, 3.0],
[32.42, 0.013, 4.697, 3.0],
[32.92, 0.006, 1.454, 3.0],
[33.39, 0.013, 1.79, 4.0],
[33.81, 0.014, 3.262, 3.0],
[34.25, 0.013, 1.923, 4.0],
[34.71, 0.016, 1.222, 5.0],
[35.21, 0.017, 2.511, 4.0],
[35.66, 0.015, 0.0, 2.0],
[36.11, 0.015, 3.402, 3.0],
[36.63, 0.022, 7.101, 3.0],
[37.12, 0.031, 5.097, 3.0],
[37.62, 0.02, 11.114, 3.0],
[38.16, 0.015, 1.969, 3.0],
[38.65, 0.01, 2.056, 3.0],
[39.21, 0.018, 1.366, 3.0],
[39.66, 0.012, 1.927, 4.0],
[40.12, 0.016, 1.427, 4.0],
[40.61, 0.01, 2.551, 3.0],
[41.12, 0.014, 1.164, 4.0],
[41.62, 0.018, 6.381, 3.0],
[42.08, 0.009, 0.0, 1.0],
[42.54, 0.016, 2.01, 2.0],
[43.0, 0.015, 2.428, 4.0],
[43.47, 0.02, 1.761, 5.0],
[43.96, 0.012, 3.568, 2.0],
[44.48, 0.021, 2.782, 3.0],
[44.94, 0.016, 4.711, 2.0],
[45.39, 0.021, 2.207, 2.0],
[45.82, 0.018, 3.892, 2.0],
[46.24, 0.017, 2.385, 2.0],
[46.75, 0.014, 3.497, 3.0],
[47.24, 0.013, 2.349, 2.0],
[47.7, 0.013, 2.284, 3.0],
[48.16, 0.014, 4.203, 2.0],
[48.615, 0.011, 0.0, 2.0],
[49.07, 0.014, 1.79, 2.0],
[49.52, 0.012, 4.346, 3.0],
[49.97, 0.018, 0.0, 2.0],
[50.42, 0.019, 2.939, 4.0],
[50.86, 0.023, 4.724, 6.0],
[51.34, 0.019, 2.979, 4.0],
[51.8, 0.03, 9.661, 3.0],
[52.3, 0.018, 4.58, 3.0],
[52.81, 0.015, 3.504, 4.0],
[53.41, 0.013, 3.511, 4.0],
[53.87, 0.014, 2.219, 4.0],
[54.35, 0.014, 1.74, 3.0],
[54.87, 0.02, 2.888, 4.0],
[55.36, 0.013, 2.022, 5.0],
[55.87, 0.015, 2.895, 3.0],
[56.38, 0.019, 2.877, 4.0],
[56.87, 0.014, 4.301, 4.0],
[57.355, 0.017, 0.0, 3.0],
[57.84, 0.01, 2.454, 4.0],
[58.3, 0.007, 3.797, 4.0],
[58.8, 0.015, 10.517, 4.0],
[59.29, 0.009, 3.681, 5.0],
[59.79, 0.01, 2.74, 4.0],
[60.26, 0.01, 1.921, 4.0],
[60.75, 0.013, 2.533, 4.0],
[61.25, 0.013, 1.301, 4.0],
[61.75, 0.018, 4.168, 3.0],
[62.24, 0.023, 2.368, 5.0],
[62.71, 0.016, 5.497, 3.0],
[63.18, 0.018, 3.208, 4.0],
[63.67, 0.028, 4.883, 3.0],
[64.155, 0.007, 0.0, 1.0],
[64.64, 0.01, 2.959, 3.0],
[65.11, 0.007, 1.343, 4.0],
[65.69, 0.008, 2.321, 3.0],
[66.2, 0.01, 1.334, 4.0]]},
{:values=>
[[66.708, 0.002, 0.0, 0.0],
[67.215, 0.002, 0.0, 1.0],
[67.722, nil, nil, nil]]}]}
======================================================================
======================================================================
JavaScript:
{
"sections": [
null,
null,
null
]
}
======================================================================
#!/usr/bin/env ruby
require 'rhino'
require 'multi_json'
require 'pp'
if ARGV.length != 1
$stderr.puts "Error: invalid arguments!"
$stderr.puts "#{$0} JSON file"
exit(1)
end
hash = MultiJson.decode(File.read(ARGV[0]), :symbolize_keys => true)
$stdout.puts "======================================================================"
$stdout.puts "Ruby:"
$stdout.puts "#{hash.pretty_inspect}"
$stdout.puts "======================================================================"
JS = <<EOF
function bar(hash) {
print("======================================================================");
print("JavaScript:");
print(JSON.stringify(hash, null, '\t'));
print("======================================================================");
}
EOF
js_context = Rhino::Context.new
js_context['print'] = Proc.new do |string|
$stdout.puts string
end
js_context.eval JS
js_context['bar'].call(hash)
{
"sections": [
{
"values": [
[
0.8,
0.014,
7.282,
2.0
],
[
1.3,
0.01,
1.548,
4.0
],
[
1.74,
0.009,
1.226,
4.0
],
[
2.16,
0.015,
2.148,
4.0
],
[
2.6,
0.011,
1.283,
4.0
],
[
3.08,
0.011,
2.334,
4.0
],
[
3.52,
0.008,
1.391,
2.0
],
[
4.04,
0.007,
1.344,
2.0
],
[
4.48,
0.008,
1.392,
4.0
],
[
4.98,
0.007,
0.0,
2.0
],
[
5.48,
0.009,
3.476,
2.0
],
[
5.98,
0.011,
1.429,
3.0
],
[
6.44,
0.013,
2.761,
2.0
],
[
6.9,
0.009,
0.0,
2.0
],
[
7.36,
0.009,
3.122,
3.0
],
[
7.9,
0.012,
1.261,
2.0
],
[
8.31,
0.011,
1.866,
3.0
],
[
8.92,
0.014,
3.36,
3.0
],
[
9.4,
0.011,
1.748,
2.0
],
[
9.87,
0.014,
3.39,
2.0
],
[
10.39,
0.02,
3.934,
3.0
],
[
10.9,
0.016,
1.455,
4.0
],
[
11.33,
0.014,
3.89,
3.0
],
[
11.81,
0.016,
1.492,
3.0
],
[
12.26,
0.015,
2.539,
3.0
]
]
},
{
"values": [
[
12.72,
0.013,
1.603,
2.0
],
[
13.2,
0.014,
1.695,
4.0
],
[
13.63,
0.019,
1.204,
4.0
],
[
14.09,
0.03,
4.661,
3.0
],
[
14.56,
0.014,
0.0,
3.0
],
[
15.03,
0.024,
3.407,
2.0
],
[
15.505,
0.012,
0.0,
2.0
],
[
15.98,
0.013,
5.705,
2.0
],
[
16.48,
0.014,
1.938,
4.0
],
[
16.95,
0.036,
3.445,
3.0
],
[
17.46,
0.031,
4.438,
4.0
],
[
17.95,
0.012,
2.33,
3.0
],
[
18.42,
0.016,
1.308,
4.0
],
[
18.98,
0.038,
5.705,
3.0
],
[
19.46,
0.034,
4.929,
4.0
],
[
19.92,
0.034,
3.201,
3.0
],
[
20.37,
0.015,
6.915,
3.0
],
[
20.86,
0.016,
1.99,
4.0
],
[
21.35,
0.014,
2.032,
3.0
],
[
21.87,
0.028,
5.3,
3.0
],
[
22.33,
0.048,
10.635,
5.0
],
[
22.88,
0.037,
2.587,
3.0
],
[
23.33,
0.017,
2.025,
4.0
],
[
23.84,
0.025,
1.719,
4.0
],
[
24.33,
0.023,
5.131,
2.0
],
[
24.81,
0.011,
2.574,
4.0
],
[
25.27,
0.017,
1.99,
4.0
],
[
25.77,
0.018,
3.276,
5.0
],
[
26.28,
0.019,
2.877,
4.0
],
[
26.76,
0.017,
2.56,
3.0
],
[
27.2,
0.019,
1.406,
5.0
],
[
27.8,
0.022,
3.058,
3.0
],
[
28.31,
0.015,
5.911,
3.0
],
[
28.76,
0.019,
2.144,
4.0
],
[
29.28,
0.01,
2.434,
3.0
],
[
29.75,
0.008,
1.692,
3.0
],
[
30.31,
0.008,
0.974,
3.0
],
[
30.82,
0.022,
3.487,
3.0
],
[
31.35,
0.015,
3.968,
3.0
],
[
31.87,
0.012,
2.304,
3.0
],
[
32.42,
0.013,
4.697,
3.0
],
[
32.92,
0.006,
1.454,
3.0
],
[
33.39,
0.013,
1.79,
4.0
],
[
33.81,
0.014,
3.262,
3.0
],
[
34.25,
0.013,
1.923,
4.0
],
[
34.71,
0.016,
1.222,
5.0
],
[
35.21,
0.017,
2.511,
4.0
],
[
35.66,
0.015,
0.0,
2.0
],
[
36.11,
0.015,
3.402,
3.0
],
[
36.63,
0.022,
7.101,
3.0
],
[
37.12,
0.031,
5.097,
3.0
],
[
37.62,
0.02,
11.114,
3.0
],
[
38.16,
0.015,
1.969,
3.0
],
[
38.65,
0.01,
2.056,
3.0
],
[
39.21,
0.018,
1.366,
3.0
],
[
39.66,
0.012,
1.927,
4.0
],
[
40.12,
0.016,
1.427,
4.0
],
[
40.61,
0.01,
2.551,
3.0
],
[
41.12,
0.014,
1.164,
4.0
],
[
41.62,
0.018,
6.381,
3.0
],
[
42.08,
0.009,
0.0,
1.0
],
[
42.54,
0.016,
2.01,
2.0
],
[
43.0,
0.015,
2.428,
4.0
],
[
43.47,
0.02,
1.761,
5.0
],
[
43.96,
0.012,
3.568,
2.0
],
[
44.48,
0.021,
2.782,
3.0
],
[
44.94,
0.016,
4.711,
2.0
],
[
45.39,
0.021,
2.207,
2.0
],
[
45.82,
0.018,
3.892,
2.0
],
[
46.24,
0.017,
2.385,
2.0
],
[
46.75,
0.014,
3.497,
3.0
],
[
47.24,
0.013,
2.349,
2.0
],
[
47.7,
0.013,
2.284,
3.0
],
[
48.16,
0.014,
4.203,
2.0
],
[
48.615,
0.011,
0.0,
2.0
],
[
49.07,
0.014,
1.79,
2.0
],
[
49.52,
0.012,
4.346,
3.0
],
[
49.97,
0.018,
0.0,
2.0
],
[
50.42,
0.019,
2.939,
4.0
],
[
50.86,
0.023,
4.724,
6.0
],
[
51.34,
0.019,
2.979,
4.0
],
[
51.8,
0.03,
9.661,
3.0
],
[
52.3,
0.018,
4.58,
3.0
],
[
52.81,
0.015,
3.504,
4.0
],
[
53.41,
0.013,
3.511,
4.0
],
[
53.87,
0.014,
2.219,
4.0
],
[
54.35,
0.014,
1.74,
3.0
],
[
54.87,
0.02,
2.888,
4.0
],
[
55.36,
0.013,
2.022,
5.0
],
[
55.87,
0.015,
2.895,
3.0
],
[
56.38,
0.019,
2.877,
4.0
],
[
56.87,
0.014,
4.301,
4.0
],
[
57.355,
0.017,
0.0,
3.0
],
[
57.84,
0.01,
2.454,
4.0
],
[
58.3,
0.007,
3.797,
4.0
],
[
58.8,
0.015,
10.517,
4.0
],
[
59.29,
0.009,
3.681,
5.0
],
[
59.79,
0.01,
2.74,
4.0
],
[
60.26,
0.01,
1.921,
4.0
],
[
60.75,
0.013,
2.533,
4.0
],
[
61.25,
0.013,
1.301,
4.0
],
[
61.75,
0.018,
4.168,
3.0
],
[
62.24,
0.023,
2.368,
5.0
],
[
62.71,
0.016,
5.497,
3.0
],
[
63.18,
0.018,
3.208,
4.0
],
[
63.67,
0.028,
4.883,
3.0
],
[
64.155,
0.007,
0.0,
1.0
],
[
64.64,
0.01,
2.959,
3.0
],
[
65.11,
0.007,
1.343,
4.0
],
[
65.69,
0.008,
2.321,
3.0
],
[
66.2,
0.01,
1.334,
4.0
]
]
},
{
"values": [
[
66.708,
0.002,
0.0,
0.0
],
[
67.215,
0.002,
0.0,
1.0
],
[
67.722,
null,
null,
null
]
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment