iruby 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 47cc7be0c54041de9aa2e48644f0812f5f902bbc
4
- data.tar.gz: a656cdee3051efdd8db801c68ca12796577f2a6c
3
+ metadata.gz: 395676ed0fa6be19f3bbbe0a39bbc30de1654fc0
4
+ data.tar.gz: 42f7a7b9b43b350419deefdcc02a4480068409eb
5
5
  SHA512:
6
- metadata.gz: e18bc7e9a5fc371c552d58224a00ce42b0190c9e4e69e3be9c5bf0c2acaa137eaaf61d042c589197f77504d1fbd61aaa707306b41984d52386a86f7c8746cdae
7
- data.tar.gz: 693f4ef8e4d09190326a05ee7ab62cbe2c06c72de5c7ab4c7a4ea502d720bbe363a9586bdba0fd4cc3a73c8db5d2fa807b019e73a39390725b3a05167c4c2432
6
+ metadata.gz: 51a599e8b9b360261fd59eadb034859bb546bc401db9f5e9df40adf44f4dc18f54df736e2c8f38a83d3ae09e37f0b21985883a1dd97557406133f0d97dc4c280
7
+ data.tar.gz: 592901c161ec50be35ebe2215eb353fc3553720f4d50a326b2e7ccf449ca60474ad7b4d76aa47831a2a2d18ed424882385f70a7d7555ee2e8836be3f89252a49
data/CHANGES CHANGED
@@ -1,3 +1,8 @@
1
+ 0.1.13
2
+
3
+ * Improved IRuby.table, supports :maxrows and :maxcols
4
+ * IRuby#javascript workaround (https://github.com/ipython/ipython/issues/6259)
5
+
1
6
  0.1.12
2
7
 
3
8
  * IRuby#table add option maxrows
@@ -0,0 +1,119 @@
1
+ {
2
+ "metadata": {
3
+ "language": "ruby",
4
+ "name": ""
5
+ },
6
+ "nbformat": 3,
7
+ "nbformat_minor": 0,
8
+ "worksheets": [
9
+ {
10
+ "cells": [
11
+ {
12
+ "cell_type": "code",
13
+ "collapsed": false,
14
+ "input": [
15
+ "IRuby.display(Complex(1,2))"
16
+ ],
17
+ "language": "python",
18
+ "metadata": {},
19
+ "outputs": [
20
+ {
21
+ "latex": [
22
+ "$1+2\\imath$"
23
+ ],
24
+ "metadata": {},
25
+ "output_type": "pyout",
26
+ "prompt_number": 1,
27
+ "text": [
28
+ "(1+2i)"
29
+ ]
30
+ }
31
+ ],
32
+ "prompt_number": 1
33
+ },
34
+ {
35
+ "cell_type": "code",
36
+ "collapsed": false,
37
+ "input": [
38
+ "require 'matrix'\n",
39
+ "IRuby.display(Matrix[[1,2],[3,4]])\n",
40
+ "IRuby.display(Matrix[[1,2],[3,4]],format:'latex')\n",
41
+ "IRuby.display(Matrix[[1,2],[3,4]],'text/plain')\n",
42
+ "IRuby.display(Matrix[[1,2],[3,4]],mime:'text/plain')\n",
43
+ "IRuby.display(Matrix[[1,2],[3,4]],'html')"
44
+ ],
45
+ "language": "python",
46
+ "metadata": {},
47
+ "outputs": [
48
+ {
49
+ "latex": [
50
+ "$$\\left(\\begin{array}{cc}\n",
51
+ " 1&2\\\\\n",
52
+ " 3&4\\\\\n",
53
+ "\\end{array}\\right)$$"
54
+ ],
55
+ "metadata": {},
56
+ "output_type": "pyout",
57
+ "prompt_number": 2,
58
+ "text": [
59
+ "Matrix[[1, 2], [3, 4]]"
60
+ ]
61
+ },
62
+ {
63
+ "latex": [
64
+ "$$\\left(\\begin{array}{cc}\n",
65
+ " 1&2\\\\\n",
66
+ " 3&4\\\\\n",
67
+ "\\end{array}\\right)$$"
68
+ ],
69
+ "metadata": {},
70
+ "output_type": "pyout",
71
+ "prompt_number": 2,
72
+ "text": [
73
+ "Matrix[[1, 2], [3, 4]]"
74
+ ]
75
+ },
76
+ {
77
+ "metadata": {},
78
+ "output_type": "pyout",
79
+ "prompt_number": 2,
80
+ "text": [
81
+ "Matrix[[1, 2], [3, 4]]"
82
+ ]
83
+ },
84
+ {
85
+ "metadata": {},
86
+ "output_type": "pyout",
87
+ "prompt_number": 2,
88
+ "text": [
89
+ "Matrix[[1, 2], [3, 4]]"
90
+ ]
91
+ },
92
+ {
93
+ "html": [
94
+ "<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>"
95
+ ],
96
+ "metadata": {},
97
+ "output_type": "pyout",
98
+ "prompt_number": 2,
99
+ "text": [
100
+ "Matrix[[1, 2], [3, 4]]"
101
+ ]
102
+ }
103
+ ],
104
+ "prompt_number": 2
105
+ },
106
+ {
107
+ "cell_type": "code",
108
+ "collapsed": false,
109
+ "input": [],
110
+ "language": "python",
111
+ "metadata": {},
112
+ "outputs": [],
113
+ "prompt_number": 3
114
+ }
115
+ ],
116
+ "metadata": {}
117
+ }
118
+ ]
119
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "metadata": {
3
+ "language": "ruby",
4
+ "name": ""
5
+ },
6
+ "nbformat": 3,
7
+ "nbformat_minor": 0,
8
+ "worksheets": [
9
+ {
10
+ "cells": [
11
+ {
12
+ "cell_type": "heading",
13
+ "level": 1,
14
+ "metadata": {},
15
+ "source": [
16
+ "Standard input and output"
17
+ ]
18
+ },
19
+ {
20
+ "cell_type": "code",
21
+ "collapsed": false,
22
+ "input": [
23
+ "puts 'Hello, world!'"
24
+ ],
25
+ "language": "python",
26
+ "metadata": {},
27
+ "outputs": [
28
+ {
29
+ "output_type": "stream",
30
+ "stream": "stdout",
31
+ "text": [
32
+ "Hello, world!\n"
33
+ ]
34
+ }
35
+ ],
36
+ "prompt_number": 4
37
+ },
38
+ {
39
+ "cell_type": "code",
40
+ "collapsed": false,
41
+ "input": [
42
+ "$stdout.puts 'stdout'\n",
43
+ "$stderr.puts 'stderr'"
44
+ ],
45
+ "language": "python",
46
+ "metadata": {},
47
+ "outputs": [
48
+ {
49
+ "output_type": "stream",
50
+ "stream": "stdout",
51
+ "text": [
52
+ "stdout\n"
53
+ ]
54
+ },
55
+ {
56
+ "output_type": "stream",
57
+ "stream": "stderr",
58
+ "text": [
59
+ "stderr\n"
60
+ ]
61
+ }
62
+ ],
63
+ "prompt_number": 5
64
+ },
65
+ {
66
+ "cell_type": "code",
67
+ "collapsed": false,
68
+ "input": [
69
+ "print \"print\\n\"\n",
70
+ "$stdout.write \"write\\n\""
71
+ ],
72
+ "language": "python",
73
+ "metadata": {},
74
+ "outputs": [
75
+ {
76
+ "output_type": "stream",
77
+ "stream": "stdout",
78
+ "text": [
79
+ "print\n"
80
+ ]
81
+ },
82
+ {
83
+ "output_type": "stream",
84
+ "stream": "stdout",
85
+ "text": [
86
+ "write\n"
87
+ ]
88
+ }
89
+ ],
90
+ "prompt_number": 10
91
+ },
92
+ {
93
+ "cell_type": "code",
94
+ "collapsed": false,
95
+ "input": [],
96
+ "language": "python",
97
+ "metadata": {},
98
+ "outputs": []
99
+ }
100
+ ],
101
+ "metadata": {}
102
+ }
103
+ ]
104
+ }
@@ -0,0 +1,301 @@
1
+ {
2
+ "metadata": {
3
+ "language": "ruby",
4
+ "name": ""
5
+ },
6
+ "nbformat": 3,
7
+ "nbformat_minor": 0,
8
+ "worksheets": [
9
+ {
10
+ "cells": [
11
+ {
12
+ "cell_type": "code",
13
+ "collapsed": false,
14
+ "input": [
15
+ "IRuby.display IRuby.table([1,2,[],3])\n",
16
+ "IRuby.display IRuby.table([1,2,[1,2,3],[2,3]])\n",
17
+ "IRuby.display IRuby.table({a:1,b:2,c:3})\n",
18
+ "IRuby.display IRuby.table([[11,12,13,14],[21,22,23],'not an Array',[31,32,33,34]])\n",
19
+ "IRuby.display IRuby.table({a:[11,12,13,14],b:[21,22,23],c:[31,32,33,34]})\n",
20
+ "IRuby.display IRuby.table([{a:1,b:2,c:3},'not an Array',{a:2,b:3,c:4,e:5}])\n",
21
+ "IRuby.display IRuby.table([{a:1,b:2,c:3, 0 => 0},{a:2,b:3,c:4,d:5},{0=>:x,1=>:y},[:a,:b,:c]])"
22
+ ],
23
+ "language": "python",
24
+ "metadata": {},
25
+ "outputs": [
26
+ {
27
+ "html": [
28
+ "<table><tr><td>1</td></tr><tr><td>2</td></tr><tr><td></td></tr><tr><td>3</td></tr></table>"
29
+ ],
30
+ "metadata": {},
31
+ "output_type": "pyout",
32
+ "prompt_number": 1,
33
+ "text": [
34
+ "\"<table><tr><td>1</td></tr><tr><td>2</td></tr><tr><td></td></tr><tr><td>3</td></tr></table>\""
35
+ ]
36
+ },
37
+ {
38
+ "html": [
39
+ "<table><tr><td colspan='3'>1</td></tr><tr><td colspan='3'>2</td></tr><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>2</td><td>3</td><td></td></tr></table>"
40
+ ],
41
+ "metadata": {},
42
+ "output_type": "pyout",
43
+ "prompt_number": 1,
44
+ "text": [
45
+ "\"<table><tr><td colspan='3'>1</td></tr><tr><td colspan='3'>2</td></tr><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>2</td><td>3</td><td></td></tr></table>\""
46
+ ]
47
+ },
48
+ {
49
+ "html": [
50
+ "<table><tr><th>a</th><th>b</th><th>c</th></tr><tr><td>1</td><td>2</td><td>3</td></tr></table>"
51
+ ],
52
+ "metadata": {},
53
+ "output_type": "pyout",
54
+ "prompt_number": 1,
55
+ "text": [
56
+ "\"<table><tr><th>a</th><th>b</th><th>c</th></tr><tr><td>1</td><td>2</td><td>3</td></tr></table>\""
57
+ ]
58
+ },
59
+ {
60
+ "html": [
61
+ "<table><tr><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>21</td><td>22</td><td>23</td><td></td></tr><tr><td colspan='4'>not an Array</td></tr><tr><td>31</td><td>32</td><td>33</td><td>34</td></tr></table>"
62
+ ],
63
+ "metadata": {},
64
+ "output_type": "pyout",
65
+ "prompt_number": 1,
66
+ "text": [
67
+ "\"<table><tr><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>21</td><td>22</td><td>23</td><td></td></tr><tr><td colspan='4'>not an Array</td></tr><tr><td>31</td><td>32</td><td>33</td><td>34</td></tr></table>\""
68
+ ]
69
+ },
70
+ {
71
+ "html": [
72
+ "<table><tr><th>a</th><th>b</th><th>c</th></tr><tr><td>11</td><td>21</td><td>31</td></tr><tr><td>12</td><td>22</td><td>32</td></tr><tr><td>13</td><td>23</td><td>33</td></tr><tr><td>14</td><td></td><td>34</td></tr></table>"
73
+ ],
74
+ "metadata": {},
75
+ "output_type": "pyout",
76
+ "prompt_number": 1,
77
+ "text": [
78
+ "\"<table><tr><th>a</th><th>b</th><th>c</th></tr><tr><td>11</td><td>21</td><td>31</td></tr><tr><td>12</td><td>22</td><td>32</td></tr><tr><td>13</td><td>23</td><td>33</td></tr><tr><td>14</td><td></td><td>34</td></tr></table>\""
79
+ ]
80
+ },
81
+ {
82
+ "html": [
83
+ "<table><tr><th>a</th><th>b</th><th>c</th><th>e</th></tr><tr><td>1</td><td>2</td><td>3</td><td></td></tr><tr><td colspan='4'>not an Array</td></tr><tr><td>2</td><td>3</td><td>4</td><td>5</td></tr></table>"
84
+ ],
85
+ "metadata": {},
86
+ "output_type": "pyout",
87
+ "prompt_number": 1,
88
+ "text": [
89
+ "\"<table><tr><th>a</th><th>b</th><th>c</th><th>e</th></tr><tr><td>1</td><td>2</td><td>3</td><td></td></tr><tr><td colspan='4'>not an Array</td></tr><tr><td>2</td><td>3</td><td>4</td><td>5</td></tr></table>\""
90
+ ]
91
+ },
92
+ {
93
+ "html": [
94
+ "<table><tr><th>a</th><th>b</th><th>c</th><th>0</th><th>d</th><th>1</th><th>2</th></tr><tr><td>1</td><td>2</td><td>3</td><td>0</td><td></td><td></td><td></td></tr><tr><td>2</td><td>3</td><td>4</td><td></td><td>5</td><td></td><td></td></tr><tr><td></td><td></td><td></td><td>x</td><td></td><td>y</td><td></td></tr><tr><td></td><td></td><td></td><td>a</td><td></td><td>b</td><td>c</td></tr></table>"
95
+ ],
96
+ "metadata": {},
97
+ "output_type": "pyout",
98
+ "prompt_number": 1,
99
+ "text": [
100
+ "\"<table><tr><th>a</th><th>b</th><th>c</th><th>0</th><th>d</th><th>1</th><th>2</th></tr><tr><td>1</td><td>2</td><td>3</td><td>0</td><td></td><td></td><td></td></tr><tr><td>2</td><td>3</td><td>4</td><td></td><td>5</td><td></td><td></td></tr><tr><td></td><td></td><td></td><td>x</td><td></td><td>y</td><td></td></tr><tr><td></td><td></td><td></td><td>a</td><td></td><td>b</td><td>c</td></tr></table>\""
101
+ ]
102
+ }
103
+ ],
104
+ "prompt_number": 1
105
+ },
106
+ {
107
+ "cell_type": "code",
108
+ "collapsed": false,
109
+ "input": [
110
+ "IRuby.table (1..1000).map {|i| (1..1000).map {|j| i * j } }"
111
+ ],
112
+ "language": "python",
113
+ "metadata": {},
114
+ "outputs": [
115
+ {
116
+ "html": [
117
+ "<table><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td rowspan='7'>&#8230;</td><td>993</td><td>994</td><td>995</td><td>996</td><td>997</td><td>998</td><td>999</td></tr><tr><td>2</td><td>4</td><td>6</td><td>8</td><td>10</td><td>12</td><td>14</td><td>1986</td><td>1988</td><td>1990</td><td>1992</td><td>1994</td><td>1996</td><td>1998</td></tr><tr><td>3</td><td>6</td><td>9</td><td>12</td><td>15</td><td>18</td><td>21</td><td>2979</td><td>2982</td><td>2985</td><td>2988</td><td>2991</td><td>2994</td><td>2997</td></tr><tr><td>4</td><td>8</td><td>12</td><td>16</td><td>20</td><td>24</td><td>28</td><td>3972</td><td>3976</td><td>3980</td><td>3984</td><td>3988</td><td>3992</td><td>3996</td></tr><tr><td>5</td><td>10</td><td>15</td><td>20</td><td>25</td><td>30</td><td>35</td><td>4965</td><td>4970</td><td>4975</td><td>4980</td><td>4985</td><td>4990</td><td>4995</td></tr><tr><td>6</td><td>12</td><td>18</td><td>24</td><td>30</td><td>36</td><td>42</td><td>5958</td><td>5964</td><td>5970</td><td>5976</td><td>5982</td><td>5988</td><td>5994</td></tr><tr><td>7</td><td>14</td><td>21</td><td>28</td><td>35</td><td>42</td><td>49</td><td>6951</td><td>6958</td><td>6965</td><td>6972</td><td>6979</td><td>6986</td><td>6993</td></tr><tr><td colspan='7'>&#8942;</td><td>&#8945;</td><td colspan='7'>&#8942;</td></tr><tr><td>993</td><td>1986</td><td>2979</td><td>3972</td><td>4965</td><td>5958</td><td>6951</td><td rowspan='7'>&#8230;</td><td>986049</td><td>987042</td><td>988035</td><td>989028</td><td>990021</td><td>991014</td><td>992007</td></tr><tr><td>994</td><td>1988</td><td>2982</td><td>3976</td><td>4970</td><td>5964</td><td>6958</td><td>987042</td><td>988036</td><td>989030</td><td>990024</td><td>991018</td><td>992012</td><td>993006</td></tr><tr><td>995</td><td>1990</td><td>2985</td><td>3980</td><td>4975</td><td>5970</td><td>6965</td><td>988035</td><td>989030</td><td>990025</td><td>991020</td><td>992015</td><td>993010</td><td>994005</td></tr><tr><td>996</td><td>1992</td><td>2988</td><td>3984</td><td>4980</td><td>5976</td><td>6972</td><td>989028</td><td>990024</td><td>991020</td><td>992016</td><td>993012</td><td>994008</td><td>995004</td></tr><tr><td>997</td><td>1994</td><td>2991</td><td>3988</td><td>4985</td><td>5982</td><td>6979</td><td>990021</td><td>991018</td><td>992015</td><td>993012</td><td>994009</td><td>995006</td><td>996003</td></tr><tr><td>998</td><td>1996</td><td>2994</td><td>3992</td><td>4990</td><td>5988</td><td>6986</td><td>991014</td><td>992012</td><td>993010</td><td>994008</td><td>995006</td><td>996004</td><td>997002</td></tr><tr><td>999</td><td>1998</td><td>2997</td><td>3996</td><td>4995</td><td>5994</td><td>6993</td><td>992007</td><td>993006</td><td>994005</td><td>995004</td><td>996003</td><td>997002</td><td>998001</td></tr></table>"
118
+ ],
119
+ "metadata": {},
120
+ "output_type": "pyout",
121
+ "prompt_number": 2,
122
+ "text": [
123
+ "\"<table><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td rowspan='7'>&#8230;</td><td>993</td><td>994</td><td>995</td><td>996</td><td>997</td><td>998</td><td>999</td></tr><tr><td>2</td><td>4</td><td>6</td><td>8</td><td>10</td><td>12</td><td>14</td><td>1986</td><td>1988</td><td>1990</td><td>1992</td><td>1994</td><td>1996</td><td>1998</td></tr><tr><td>3</td><td>6</td><td>9</td><td>12</td><td>15</td><td>18</td><td>21</td><td>2979</td><td>2982</td><td>2985</td><td>2988</td><td>2991</td><td>2994</td><td>2997</td></tr><tr><td>4</td><td>8</td><td>12</td><td>16</td><td>20</td><td>24</td><td>28</td><td>3972</td><td>3976</td><td>3980</td><td>3984</td><td>3988</td><td>3992</td><td>3996</td></tr><tr><td>5</td><td>10</td><td>15</td><td>20</td><td>25</td><td>30</td><td>35</td><td>4965</td><td>4970</td><td>4975</td><td>4980</td><td>4985</td><td>4990</td><td>4995</td></tr><tr><td>6</td><td>12</td><td>18</td><td>24</td><td>30</td><td>36</td><td>42</td><td>5958</td><td>5964</td><td>5970</td><td>5976</td><td>5982</td><td>5988</td><td>5994</td></tr><tr><td>7</td><td>14</td><td>21</td><td>28</td><td>35</td><td>42</td><td>49</td><td>6951</td><td>6958</td><td>6965</td><td>6972</td><td>6979</td><td>6986</td><td>6993</td></tr><tr><td colspan='7'>&#8942;</td><td>&#8945;</td><td colspan='7'>&#8942;</td></tr><tr><td>993</td><td>1986</td><td>2979</td><td>3972</td><td>4965</td><td>5958</td><td>6951</td><td rowspan='7'>&#8230;</td><td>986049</td><td>987042</td><td>988035</td><td>989028</td><td>990021</td><td>991014</td><td>992007</td></tr><tr><td>994</td><td>1988</td><td>2982</td><td>3976</td><td>4970</td><td>5964</td><td>6958</td><td>987042</td><td>988036</td><td>989030</td><td>990024</td><td>991018</td><td>992012</td><td>993006</td></tr><tr><td>995</td><td>1990</td><td>2985</td><td>3980</td><td>4975</td><td>5970</td><td>6965</td><td>988035</td><td>989030</td><td>990025</td><td>991020</td><td>992015</td><td>993010</td><td>994005</td></tr><tr><td>996</td><td>1992</td><td>2988</td><td>3984</td><td>4980</td><td>5976</td><td>6972</td><td>989028</td><td>990024</td><td>991020</td><td>992016</td><td>993012</td><td>994008</td><td>995004</td></tr><tr><td>997</td><td>1994</td><td>2991</td><td>3988</td><td>4985</td><td>5982</td><td>6979</td><td>990021</td><td>991018</td><td>992015</td><td>993012</td><td>994009</td><td>995006</td><td>996003</td></tr><tr><td>998</td><td>1996</td><td>2994</td><td>3992</td><td>4990</td><td>5988</td><td>6986</td><td>991014</td><td>992012</td><td>993010</td><td>994008</td><td>995006</td><td>996004</td><td>997002</td></tr><tr><td>999</td><td>1998</td><td>2997</td><td>3996</td><td>4995</td><td>5994</td><td>6993</td><td>992007</td><td>993006</td><td>994005</td><td>995004</td><td>996003</td><td>997002</td><td>998001</td></tr></table>\""
124
+ ]
125
+ }
126
+ ],
127
+ "prompt_number": 2
128
+ },
129
+ {
130
+ "cell_type": "code",
131
+ "collapsed": false,
132
+ "input": [
133
+ "IRuby.table Hash[(1..1000).map {|i| [i, (1..1000).map {|j| i * j }] }]"
134
+ ],
135
+ "language": "python",
136
+ "metadata": {},
137
+ "outputs": [
138
+ {
139
+ "html": [
140
+ "<table><tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>&#8230;</th><th>993</th><th>994</th><th>995</th><th>996</th><th>997</th><th>998</th><th>999</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td rowspan='7'>&#8230;</td><td>993</td><td>994</td><td>995</td><td>996</td><td>997</td><td>998</td><td>999</td></tr><tr><td>2</td><td>4</td><td>6</td><td>8</td><td>10</td><td>12</td><td>14</td><td>1986</td><td>1988</td><td>1990</td><td>1992</td><td>1994</td><td>1996</td><td>1998</td></tr><tr><td>3</td><td>6</td><td>9</td><td>12</td><td>15</td><td>18</td><td>21</td><td>2979</td><td>2982</td><td>2985</td><td>2988</td><td>2991</td><td>2994</td><td>2997</td></tr><tr><td>4</td><td>8</td><td>12</td><td>16</td><td>20</td><td>24</td><td>28</td><td>3972</td><td>3976</td><td>3980</td><td>3984</td><td>3988</td><td>3992</td><td>3996</td></tr><tr><td>5</td><td>10</td><td>15</td><td>20</td><td>25</td><td>30</td><td>35</td><td>4965</td><td>4970</td><td>4975</td><td>4980</td><td>4985</td><td>4990</td><td>4995</td></tr><tr><td>6</td><td>12</td><td>18</td><td>24</td><td>30</td><td>36</td><td>42</td><td>5958</td><td>5964</td><td>5970</td><td>5976</td><td>5982</td><td>5988</td><td>5994</td></tr><tr><td>7</td><td>14</td><td>21</td><td>28</td><td>35</td><td>42</td><td>49</td><td>6951</td><td>6958</td><td>6965</td><td>6972</td><td>6979</td><td>6986</td><td>6993</td></tr><tr><td colspan='7'>&#8942;</td><td>&#8945;</td><td colspan='7'>&#8942;</td></tr><tr><td>993</td><td>1986</td><td>2979</td><td>3972</td><td>4965</td><td>5958</td><td>6951</td><td rowspan='7'>&#8230;</td><td>986049</td><td>987042</td><td>988035</td><td>989028</td><td>990021</td><td>991014</td><td>992007</td></tr><tr><td>994</td><td>1988</td><td>2982</td><td>3976</td><td>4970</td><td>5964</td><td>6958</td><td>987042</td><td>988036</td><td>989030</td><td>990024</td><td>991018</td><td>992012</td><td>993006</td></tr><tr><td>995</td><td>1990</td><td>2985</td><td>3980</td><td>4975</td><td>5970</td><td>6965</td><td>988035</td><td>989030</td><td>990025</td><td>991020</td><td>992015</td><td>993010</td><td>994005</td></tr><tr><td>996</td><td>1992</td><td>2988</td><td>3984</td><td>4980</td><td>5976</td><td>6972</td><td>989028</td><td>990024</td><td>991020</td><td>992016</td><td>993012</td><td>994008</td><td>995004</td></tr><tr><td>997</td><td>1994</td><td>2991</td><td>3988</td><td>4985</td><td>5982</td><td>6979</td><td>990021</td><td>991018</td><td>992015</td><td>993012</td><td>994009</td><td>995006</td><td>996003</td></tr><tr><td>998</td><td>1996</td><td>2994</td><td>3992</td><td>4990</td><td>5988</td><td>6986</td><td>991014</td><td>992012</td><td>993010</td><td>994008</td><td>995006</td><td>996004</td><td>997002</td></tr><tr><td>999</td><td>1998</td><td>2997</td><td>3996</td><td>4995</td><td>5994</td><td>6993</td><td>992007</td><td>993006</td><td>994005</td><td>995004</td><td>996003</td><td>997002</td><td>998001</td></tr></table>"
141
+ ],
142
+ "metadata": {},
143
+ "output_type": "pyout",
144
+ "prompt_number": 3,
145
+ "text": [
146
+ "\"<table><tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>&#8230;</th><th>993</th><th>994</th><th>995</th><th>996</th><th>997</th><th>998</th><th>999</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td rowspan='7'>&#8230;</td><td>993</td><td>994</td><td>995</td><td>996</td><td>997</td><td>998</td><td>999</td></tr><tr><td>2</td><td>4</td><td>6</td><td>8</td><td>10</td><td>12</td><td>14</td><td>1986</td><td>1988</td><td>1990</td><td>1992</td><td>1994</td><td>1996</td><td>1998</td></tr><tr><td>3</td><td>6</td><td>9</td><td>12</td><td>15</td><td>18</td><td>21</td><td>2979</td><td>2982</td><td>2985</td><td>2988</td><td>2991</td><td>2994</td><td>2997</td></tr><tr><td>4</td><td>8</td><td>12</td><td>16</td><td>20</td><td>24</td><td>28</td><td>3972</td><td>3976</td><td>3980</td><td>3984</td><td>3988</td><td>3992</td><td>3996</td></tr><tr><td>5</td><td>10</td><td>15</td><td>20</td><td>25</td><td>30</td><td>35</td><td>4965</td><td>4970</td><td>4975</td><td>4980</td><td>4985</td><td>4990</td><td>4995</td></tr><tr><td>6</td><td>12</td><td>18</td><td>24</td><td>30</td><td>36</td><td>42</td><td>5958</td><td>5964</td><td>5970</td><td>5976</td><td>5982</td><td>5988</td><td>5994</td></tr><tr><td>7</td><td>14</td><td>21</td><td>28</td><td>35</td><td>42</td><td>49</td><td>6951</td><td>6958</td><td>6965</td><td>6972</td><td>6979</td><td>6986</td><td>6993</td></tr><tr><td colspan='7'>&#8942;</td><td>&#8945;</td><td colspan='7'>&#8942;</td></tr><tr><td>993</td><td>1986</td><td>2979</td><td>3972</td><td>4965</td><td>5958</td><td>6951</td><td rowspan='7'>&#8230;</td><td>986049</td><td>987042</td><td>988035</td><td>989028</td><td>990021</td><td>991014</td><td>992007</td></tr><tr><td>994</td><td>1988</td><td>2982</td><td>3976</td><td>4970</td><td>5964</td><td>6958</td><td>987042</td><td>988036</td><td>989030</td><td>990024</td><td>991018</td><td>992012</td><td>993006</td></tr><tr><td>995</td><td>1990</td><td>2985</td><td>3980</td><td>4975</td><td>5970</td><td>6965</td><td>988035</td><td>989030</td><td>990025</td><td>991020</td><td>992015</td><td>993010</td><td>994005</td></tr><tr><td>996</td><td>1992</td><td>2988</td><td>3984</td><td>4980</td><td>5976</td><td>6972</td><td>989028</td><td>990024</td><td>991020</td><td>992016</td><td>993012</td><td>994008</td><td>995004</td></tr><tr><td>997</td><td>1994</td><td>2991</td><td>3988</td><td>4985</td><td>5982</td><td>6979</td><td>990021</td><td>991018</td><td>992015</td><td>993012</td><td>994009</td><td>995006</td><td>996003</td></tr><tr><td>998</td><td>1996</td><td>2994</td><td>3992</td><td>4990</td><td>5988</td><td>6986</td><td>991014</td><td>992012</td><td>993010</td><td>994008</td><td>995006</td><td>996004</td><td>997002</td></tr><tr><td>999</td><td>1998</td><td>2997</td><td>3996</td><td>4995</td><td>5994</td><td>6993</td><td>992007</td><td>993006</td><td>994005</td><td>995004</td><td>996003</td><td>997002</td><td>998001</td></tr></table>\""
147
+ ]
148
+ }
149
+ ],
150
+ "prompt_number": 3
151
+ },
152
+ {
153
+ "cell_type": "code",
154
+ "collapsed": false,
155
+ "input": [
156
+ "IRuby.display IRuby.table [[1,2],[3,4]], header: true\n",
157
+ "IRuby.display IRuby.table [[1,2],[3,4]], header: false\n",
158
+ "IRuby.display IRuby.table [[1,2],[3,4]]\n",
159
+ "\n",
160
+ "IRuby.display IRuby.table [{a:1,b:2},{a:3,b:4}], header: true\n",
161
+ "IRuby.display IRuby.table [{a:1,b:2},{a:3,b:4}], header: false\n",
162
+ "IRuby.display IRuby.table [{a:1,b:2},{a:3,b:4}]\n",
163
+ "\n",
164
+ "\n",
165
+ "IRuby.display IRuby.table({a:[1,3],b:[2,4]}, header: true)\n",
166
+ "IRuby.display IRuby.table({a:[1,3],b:[2,4]}, header: false)\n",
167
+ "IRuby.display IRuby.table({a:[1,3],b:[2,4]})"
168
+ ],
169
+ "language": "python",
170
+ "metadata": {},
171
+ "outputs": [
172
+ {
173
+ "html": [
174
+ "<table><tr><th>0</th><th>1</th></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>"
175
+ ],
176
+ "metadata": {},
177
+ "output_type": "pyout",
178
+ "prompt_number": 4,
179
+ "text": [
180
+ "\"<table><tr><th>0</th><th>1</th></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>\""
181
+ ]
182
+ },
183
+ {
184
+ "html": [
185
+ "<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>"
186
+ ],
187
+ "metadata": {},
188
+ "output_type": "pyout",
189
+ "prompt_number": 4,
190
+ "text": [
191
+ "\"<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>\""
192
+ ]
193
+ },
194
+ {
195
+ "html": [
196
+ "<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>"
197
+ ],
198
+ "metadata": {},
199
+ "output_type": "pyout",
200
+ "prompt_number": 4,
201
+ "text": [
202
+ "\"<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>\""
203
+ ]
204
+ },
205
+ {
206
+ "html": [
207
+ "<table><tr><th>a</th><th>b</th></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>"
208
+ ],
209
+ "metadata": {},
210
+ "output_type": "pyout",
211
+ "prompt_number": 4,
212
+ "text": [
213
+ "\"<table><tr><th>a</th><th>b</th></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>\""
214
+ ]
215
+ },
216
+ {
217
+ "html": [
218
+ "<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>"
219
+ ],
220
+ "metadata": {},
221
+ "output_type": "pyout",
222
+ "prompt_number": 4,
223
+ "text": [
224
+ "\"<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>\""
225
+ ]
226
+ },
227
+ {
228
+ "html": [
229
+ "<table><tr><th>a</th><th>b</th></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>"
230
+ ],
231
+ "metadata": {},
232
+ "output_type": "pyout",
233
+ "prompt_number": 4,
234
+ "text": [
235
+ "\"<table><tr><th>a</th><th>b</th></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>\""
236
+ ]
237
+ },
238
+ {
239
+ "html": [
240
+ "<table><tr><th>a</th><th>b</th></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>"
241
+ ],
242
+ "metadata": {},
243
+ "output_type": "pyout",
244
+ "prompt_number": 4,
245
+ "text": [
246
+ "\"<table><tr><th>a</th><th>b</th></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>\""
247
+ ]
248
+ },
249
+ {
250
+ "html": [
251
+ "<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>"
252
+ ],
253
+ "metadata": {},
254
+ "output_type": "pyout",
255
+ "prompt_number": 4,
256
+ "text": [
257
+ "\"<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>\""
258
+ ]
259
+ },
260
+ {
261
+ "html": [
262
+ "<table><tr><th>a</th><th>b</th></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>"
263
+ ],
264
+ "metadata": {},
265
+ "output_type": "pyout",
266
+ "prompt_number": 4,
267
+ "text": [
268
+ "\"<table><tr><th>a</th><th>b</th></tr><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>\""
269
+ ]
270
+ }
271
+ ],
272
+ "prompt_number": 4
273
+ },
274
+ {
275
+ "cell_type": "code",
276
+ "collapsed": false,
277
+ "input": [
278
+ "IRuby.display IRuby.table({a:1,b:2,c:[3,4]})"
279
+ ],
280
+ "language": "python",
281
+ "metadata": {},
282
+ "outputs": [
283
+ {
284
+ "html": [
285
+ "<table><tr><th>a</th><th>b</th><th>c</th></tr><tr><td>1</td><td>2</td><td>3</td></tr><tr><td></td><td></td><td>4</td></tr></table>"
286
+ ],
287
+ "metadata": {},
288
+ "output_type": "pyout",
289
+ "prompt_number": 5,
290
+ "text": [
291
+ "\"<table><tr><th>a</th><th>b</th><th>c</th></tr><tr><td>1</td><td>2</td><td>3</td></tr><tr><td></td><td></td><td>4</td></tr></table>\""
292
+ ]
293
+ }
294
+ ],
295
+ "prompt_number": 5
296
+ }
297
+ ],
298
+ "metadata": {}
299
+ }
300
+ ]
301
+ }
data/lib/iruby/display.rb CHANGED
@@ -30,6 +30,12 @@ module IRuby
30
30
  # as the given mime type.
31
31
  data[exact_mime] = protect(exact_mime, obj) if exact_mime && !data.any? {|m,_| exact_mime == m }
32
32
 
33
+ # HACK for IPython #6259
34
+ # https://github.com/ipython/ipython/issues/6259
35
+ if js = data.delete('application/javascript')
36
+ data['text/html'] = "<script type='text/javascript'>#{js}</script>"
37
+ end
38
+
33
39
  data
34
40
  end
35
41
 
@@ -96,8 +102,6 @@ module IRuby
96
102
 
97
103
  def match?(obj)
98
104
  @match.call(obj)
99
- rescue NameError
100
- false
101
105
  end
102
106
 
103
107
  def render(obj)
@@ -134,7 +138,13 @@ module IRuby
134
138
  end
135
139
 
136
140
  def type(&block)
137
- match {|obj| block.call === obj }
141
+ match do |obj|
142
+ begin
143
+ block.call === obj
144
+ rescue NameError
145
+ false
146
+ end
147
+ end
138
148
  end
139
149
 
140
150
  def priority(p)
@@ -196,7 +206,12 @@ module IRuby
196
206
 
197
207
  type { GSL::Complex }
198
208
  format 'text/latex' do |obj|
199
- "$#{obj.re}+#{obj.im}i$"
209
+ "$#{obj.re}+#{obj.im}\\imath$"
210
+ end
211
+
212
+ type { Complex }
213
+ format 'text/latex' do |obj|
214
+ "$#{obj.real}+#{obj.imag}\\imath$"
200
215
  end
201
216
 
202
217
  type { Gnuplot::Plot }
@@ -212,7 +227,10 @@ module IRuby
212
227
  end
213
228
  end
214
229
 
215
- match {|obj| Magick::Image === obj || MiniMagick::Image === obj }
230
+ match do |obj|
231
+ defined?(Magic::Image) && Magic::Image === obj ||
232
+ defined?(MiniMagic::Image) && MiniMagic::Image === obj
233
+ end
216
234
  format 'image' do |obj|
217
235
  format = obj.format || 'PNG'
218
236
  [format == 'PNG' ? 'image/png' : 'image/jpeg', obj.to_blob {|i| i.format = format }]
@@ -26,48 +26,115 @@ module IRuby
26
26
 
27
27
  def table(obj, options = {})
28
28
  options[:maxrows] = 15 unless options.include?(:maxrows)
29
- return obj unless Enumerable === obj
30
- keys = nil
31
- size = 0
29
+ options[:maxcols] = 15 unless options.include?(:maxcols)
30
+ raise ArgumentError, 'Invalid :maxrows' if options[:maxrows] && options[:maxrows] < 3
31
+ raise ArgumentError, 'Invalid :maxcols' if options[:maxcols] && options[:maxcols] < 3
32
+
33
+ return obj unless obj.respond_to?(:each)
34
+
32
35
  rows = []
33
- obj.each_with_index do |row, i|
34
- row = row.flatten(1) if obj.respond_to?(:keys)
35
- if row.respond_to?(:keys)
36
- # Array of Hashes
37
- keys ||= Set.new
38
- keys.merge(row.keys)
39
- elsif row.respond_to?(:map)
40
- # Array of Arrays
41
- size = row.size if size < row.size
36
+
37
+ if obj.respond_to?(:keys)
38
+ # Hash of Arrays
39
+ header = obj.keys
40
+ keys = (0...obj.keys.size).to_a
41
+ cols = obj.values.map {|x| [x].flatten(1) }
42
+ num_rows = cols.map(&:size).max
43
+ rows = []
44
+ (0...num_rows).each do |i|
45
+ rows << []
46
+ (0...cols.size).each do |j|
47
+ rows[i][j] = cols[j][i]
48
+ end
42
49
  end
43
- if options[:maxrows] && i > options[:maxrows]
44
- rows << '...'
45
- break
50
+ else
51
+ keys = nil
52
+ array_size = 0
53
+
54
+ obj.each do |row|
55
+ if row.respond_to?(:keys)
56
+ # Array of Hashes
57
+ keys ||= Set.new
58
+ keys.merge(row.keys)
59
+ elsif row.respond_to?(:map)
60
+ # Array of Arrays
61
+ array_size = row.size if array_size < row.size
62
+ end
63
+ rows << row
46
64
  end
47
- rows << row
65
+
66
+ if header = keys
67
+ keys.merge(0...array_size)
68
+ else
69
+ keys = 0...array_size
70
+ end
71
+ keys = keys.to_a
72
+ end
73
+
74
+ header ||= keys if options[:header]
75
+
76
+ rows1, rows2 = rows, nil
77
+ keys1, keys2 = keys, nil
78
+ header1, header2 = header, nil
79
+
80
+ if options[:maxcols] && keys.size > options[:maxcols]
81
+ keys1 = keys[0...options[:maxcols] / 2]
82
+ keys2 = keys[-options[:maxcols] / 2...-1]
83
+ if header
84
+ header1 = header[0...options[:maxcols] / 2]
85
+ header2 = header[-options[:maxcols] / 2...-1]
86
+ end
87
+ end
88
+
89
+ if options[:maxrows] && rows.size > options[:maxrows]
90
+ rows1 = rows[0...options[:maxrows] / 2]
91
+ rows2 = rows[-options[:maxrows] / 2...-1]
48
92
  end
93
+
49
94
  table = '<table>'
50
- if keys
51
- keys.merge(0...size)
52
- table << '<tr>' << keys.map {|k| "<th>#{k}</th>"}.join << '</tr>'
53
- else
54
- keys = 0...size
95
+
96
+ if header1 && options[:header] != false
97
+ table << '<tr>' << header1.map {|k| "<th>#{k}</th>" }.join
98
+ table << "<th>&#8230;</th>" << header2.map {|k| "<th>#{k}</th>" }.join if keys2
99
+ table << '</tr>'
100
+ end
101
+
102
+ row_block(table, rows1, keys1, keys2)
103
+
104
+ if rows2
105
+ table << "<tr><td#{keys1.size > 1 ? " colspan='#{keys1.size}'" : ''}>&#8942;</td>"
106
+ table << "<td>&#8945;</td><td#{keys2.size > 1 ? " colspan='#{keys2.size}'" : ''}>&#8942;</td>" if keys2
107
+ table << '</tr>'
108
+
109
+ row_block(table, rows2, keys1, keys2)
55
110
  end
56
- rows.each do |row|
111
+
112
+ table << '</table>'
113
+ end
114
+
115
+ private
116
+
117
+ def row_block(table, rows, keys1, keys2)
118
+ cols = keys1.size
119
+ cols += keys2.size + 1 if keys2
120
+ rows.each_with_index do |row, i|
57
121
  table << '<tr>'
58
122
  if row.respond_to?(:map)
59
- row = keys.map {|k| "<td>#{row[k] rescue nil}</td>" }
60
- if row.empty?
61
- table << "<td#{keys.size > 1 ? " colspan='#{keys.size}'" : ''}></td>"
123
+ row_html = keys1.map {|k| "<td>#{row[k] rescue nil}</td>" }.join
124
+ if keys2
125
+ row_html << "<td#{rows.size > 1 ? " rowspan='#{rows.size}'" : ''}>&#8230;</td>" if i == 0
126
+ row_html << keys2.map {|k| "<td>#{row[k] rescue nil}</td>" }.join
127
+ end
128
+ if row_html.empty?
129
+ table << "<td#{cols > 1 ? " colspan='#{cols}'" : ''}></td>"
62
130
  else
63
- table << row.join
131
+ table << row_html
64
132
  end
65
133
  else
66
- table << "<td#{keys.size > 1 ? " colspan='#{keys.size}'" : ''}>#{row}</td>"
134
+ table << "<td#{cols > 1 ? " colspan='#{cols}'" : ''}>#{row}</td>"
67
135
  end
68
136
  table << '</tr>'
69
137
  end
70
- table << '</table>'
71
138
  end
72
139
  end
73
140
  end
@@ -11,3 +11,5 @@ $([IPython.events]).on('app_initialized.NotebookApp', function(){
11
11
  IPython.CodeCell.options_default['cm_config']['mode'] = 'ruby';
12
12
  IPython.CodeCell.options_default['cm_config']['indentUnit'] = 2;
13
13
  });
14
+
15
+ document.title = document.title.replace('IPython', 'IRuby');
data/lib/iruby/utils.rb CHANGED
@@ -7,8 +7,8 @@ module IRuby
7
7
  Kernel.instance.display(obj, options)
8
8
  end
9
9
 
10
- def self.table(s)
11
- html(HTML.table(s))
10
+ def self.table(s, options = {})
11
+ html(HTML.table(s, options))
12
12
  end
13
13
 
14
14
  def self.latex(s)
data/lib/iruby/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module IRuby
2
- VERSION = '0.1.12'
2
+ VERSION = '0.1.13'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damián Silvani
@@ -12,76 +12,76 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-08-01 00:00:00.000000000 Z
15
+ date: 2014-08-19 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rake
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - '>='
21
+ - - ">="
22
22
  - !ruby/object:Gem::Version
23
23
  version: '0'
24
24
  type: :development
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - '>='
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
30
  version: '0'
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: bond
33
33
  requirement: !ruby/object:Gem::Requirement
34
34
  requirements:
35
- - - ~>
35
+ - - "~>"
36
36
  - !ruby/object:Gem::Version
37
37
  version: 0.5.0
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  requirements:
42
- - - ~>
42
+ - - "~>"
43
43
  - !ruby/object:Gem::Version
44
44
  version: 0.5.0
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: ffi-rzmq
47
47
  requirement: !ruby/object:Gem::Requirement
48
48
  requirements:
49
- - - ~>
49
+ - - "~>"
50
50
  - !ruby/object:Gem::Version
51
51
  version: '2.0'
52
52
  type: :runtime
53
53
  prerelease: false
54
54
  version_requirements: !ruby/object:Gem::Requirement
55
55
  requirements:
56
- - - ~>
56
+ - - "~>"
57
57
  - !ruby/object:Gem::Version
58
58
  version: '2.0'
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: multi_json
61
61
  requirement: !ruby/object:Gem::Requirement
62
62
  requirements:
63
- - - ~>
63
+ - - "~>"
64
64
  - !ruby/object:Gem::Version
65
65
  version: 1.10.0
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
69
69
  requirements:
70
- - - ~>
70
+ - - "~>"
71
71
  - !ruby/object:Gem::Version
72
72
  version: 1.10.0
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: mimemagic
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
- - - ~>
77
+ - - "~>"
78
78
  - !ruby/object:Gem::Version
79
79
  version: 0.2.0
80
80
  type: :runtime
81
81
  prerelease: false
82
82
  version_requirements: !ruby/object:Gem::Requirement
83
83
  requirements:
84
- - - ~>
84
+ - - "~>"
85
85
  - !ruby/object:Gem::Version
86
86
  version: 0.2.0
87
87
  description: Ruby Kernel for IPython
@@ -92,7 +92,7 @@ executables:
92
92
  extensions: []
93
93
  extra_rdoc_files: []
94
94
  files:
95
- - .gitignore
95
+ - ".gitignore"
96
96
  - CHANGES
97
97
  - CONTRIBUTORS
98
98
  - Gemfile
@@ -101,6 +101,9 @@ files:
101
101
  - README.md
102
102
  - Rakefile
103
103
  - bin/iruby
104
+ - examples/display.ipynb
105
+ - examples/stdout.ipynb
106
+ - examples/table.ipynb
104
107
  - iruby.gemspec
105
108
  - lib/iruby.rb
106
109
  - lib/iruby/backend.rb
@@ -141,19 +144,18 @@ require_paths:
141
144
  - lib
142
145
  required_ruby_version: !ruby/object:Gem::Requirement
143
146
  requirements:
144
- - - '>='
147
+ - - ">="
145
148
  - !ruby/object:Gem::Version
146
149
  version: '0'
147
150
  required_rubygems_version: !ruby/object:Gem::Requirement
148
151
  requirements:
149
- - - '>='
152
+ - - ">="
150
153
  - !ruby/object:Gem::Version
151
154
  version: '0'
152
155
  requirements: []
153
156
  rubyforge_project:
154
- rubygems_version: 2.1.11
157
+ rubygems_version: 2.2.2
155
158
  signing_key:
156
159
  specification_version: 4
157
160
  summary: A Ruby kernel for IPython frontends (notebook console, etc.)
158
161
  test_files: []
159
- has_rdoc: