web-console-rails3 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.markdown +2 -2
  3. data/app/assets/javascripts/web_console/application.js +1 -3
  4. data/app/assets/javascripts/web_console/console_sessions.js +3 -24
  5. data/app/assets/stylesheets/web_console/application.css +1 -0
  6. data/app/assets/stylesheets/web_console/console_sessions.css +0 -8
  7. data/app/controllers/web_console/application_controller.rb +1 -0
  8. data/app/controllers/web_console/console_sessions_controller.rb +24 -4
  9. data/app/models/web_console/console_session.rb +32 -62
  10. data/app/views/web_console/console_sessions/index.html.erb +9 -4
  11. data/config/routes.rb +7 -1
  12. data/lib/assets/javascripts/web-console.js +1 -0
  13. data/lib/assets/javascripts/web_console.js +202 -0
  14. data/lib/web_console.rb +1 -1
  15. data/lib/web_console/engine.rb +17 -7
  16. data/lib/web_console/slave.rb +112 -0
  17. data/lib/web_console/version.rb +1 -1
  18. data/test/controllers/web_console/console_sessions_controller_test.rb +29 -11
  19. data/test/dummy/config/application.rb +17 -1
  20. data/test/dummy/config/application.rb.orig +58 -0
  21. data/test/dummy/log/development.log +28962 -0
  22. data/test/dummy/log/test.log +329 -0
  23. data/test/dummy/tmp/cache/assets/CBD/6E0/sprockets%2F3293dfc0984076f0e8371a9e7640f4a8 +0 -0
  24. data/test/dummy/tmp/cache/assets/CD0/FC0/sprockets%2Fbb2777627d42a216f3d9ced4322040b3 +0 -0
  25. data/test/dummy/tmp/cache/assets/CFA/E30/sprockets%2F35be1d26565dc0310c29f1a5e2f62f10 +0 -0
  26. data/test/dummy/tmp/cache/assets/D1D/FD0/sprockets%2Fa4a5ffe670666ce3d8d59179905201ef +0 -0
  27. data/test/dummy/tmp/cache/assets/D21/6B0/sprockets%2F9e242803fe56d6305274ff7e6487deda +0 -0
  28. data/test/dummy/tmp/cache/assets/D22/980/sprockets%2Fce6aa94ad2bc107104c0540f62c5128c +0 -0
  29. data/test/dummy/tmp/cache/assets/D3E/380/sprockets%2F434d98c8380bb9daf43810155aaf68ba +0 -0
  30. data/test/dummy/tmp/cache/assets/D66/940/sprockets%2F6151175b6ad4f9bab0c7e2b508e7b70f +0 -0
  31. data/test/dummy/tmp/cache/assets/D69/710/sprockets%2Ff67078d4b979a58c97feede196f6b385 +0 -0
  32. data/test/dummy/tmp/cache/assets/D95/C40/sprockets%2F09cb0a274209abf0391cbfce6ee67b82 +0 -0
  33. data/test/dummy/tmp/cache/assets/D9B/A30/sprockets%2Fc3436b3fe5da7c2456f26e2ae36da6c5 +0 -0
  34. data/test/dummy/tmp/cache/assets/D9F/400/sprockets%2F7f60332f86073dc8ed80b4c2a9dfcbe1 +0 -0
  35. data/test/dummy/tmp/cache/assets/DAE/8C0/sprockets%2Fa9b8f7bc5ca2efe658a13d7f4609c729 +0 -0
  36. data/test/dummy/tmp/cache/assets/DB3/0C0/sprockets%2F689fb998e2a7add3e00db88df254c87a +0 -0
  37. data/test/dummy/tmp/cache/assets/DD4/440/sprockets%2Fa33d646ac00d8bc87a4a496af6eed96f +0 -0
  38. data/test/dummy/tmp/cache/assets/DDB/890/sprockets%2F5ed566ca9fafd1b82373ffea2a8d8681 +0 -0
  39. data/test/models/console_session_test.rb +16 -75
  40. data/test/web_console/slave_test.rb +53 -0
  41. data/test/web_console_test.rb +51 -11
  42. data/vendor/assets/javascripts/vt100.js +4408 -0
  43. data/vendor/assets/stylesheets/vt100.css +272 -0
  44. metadata +23 -42
  45. data/lib/web_console/fiber.rb +0 -48
  46. data/lib/web_console/repl.rb +0 -59
  47. data/lib/web_console/repl/dummy.rb +0 -38
  48. data/lib/web_console/repl/irb.rb +0 -62
  49. data/lib/web_console/stream.rb +0 -30
  50. data/test/web_console/repl/dummy_test.rb +0 -54
  51. data/test/web_console/repl/irb_test.rb +0 -156
  52. data/test/web_console/repl_test.rb +0 -15
  53. data/vendor/assets/javascripts/jquery.console.js +0 -727
@@ -0,0 +1,272 @@
1
+ #vt100 a {
2
+ text-decoration: none;
3
+ color: inherit;
4
+ }
5
+
6
+ #vt100 a:hover {
7
+ text-decoration: underline;
8
+ }
9
+
10
+ #vt100 #reconnect {
11
+ position: absolute;
12
+ z-index: 2;
13
+ }
14
+
15
+ #vt100 #reconnect input {
16
+ padding: 1ex;
17
+ font-weight: bold;
18
+ font-size: x-large;
19
+ }
20
+
21
+ #vt100 #cursize {
22
+ background: #EEEEEE;
23
+ border: 1px solid black;
24
+ font-family: sans-serif;
25
+ font-size: large;
26
+ font-weight: bold;
27
+ padding: 1ex;
28
+ position: absolute;
29
+ z-index: 2;
30
+ }
31
+
32
+ #vt100 pre {
33
+ margin: 0px;
34
+ }
35
+
36
+ #vt100 pre pre {
37
+ overflow: hidden;
38
+ }
39
+
40
+ #vt100 #scrollable {
41
+ overflow-x: hidden;
42
+ overflow-y: scroll;
43
+ position: relative;
44
+ padding: 1px;
45
+ }
46
+
47
+ #vt100 #console, #vt100 #alt_console, #vt100 #cursor, #vt100 #lineheight, #vt100 .hidden pre {
48
+ font-family: "DejaVu Sans Mono", "Everson Mono", FreeMono, "Andale Mono", monospace;
49
+ }
50
+
51
+ #vt100 #lineheight {
52
+ position: absolute;
53
+ visibility: hidden;
54
+ }
55
+
56
+ #vt100 #cursor {
57
+ position: absolute;
58
+ left: 0px;
59
+ top: 0px;
60
+ overflow: hidden;
61
+ z-index: 1;
62
+ }
63
+
64
+ #vt100 #cursor.bright {
65
+ background-color: black;
66
+ color: white;
67
+ }
68
+
69
+ #vt100 #cursor.dim {
70
+ visibility: hidden;
71
+ }
72
+
73
+ #vt100 #cursor.inactive {
74
+ border: 1px solid;
75
+ margin: -1px;
76
+ }
77
+
78
+ #vt100 #padding {
79
+ visibility: hidden;
80
+ width: 1px;
81
+ height: 0px;
82
+ overflow: hidden;
83
+ }
84
+
85
+ #vt100 .hidden {
86
+ position: absolute;
87
+ top: -10000px;
88
+ left: -10000px;
89
+ width: 0px;
90
+ height: 0px;
91
+ }
92
+
93
+ #vt100 #menu {
94
+ overflow: visible;
95
+ position: absolute;
96
+ z-index: 3;
97
+ }
98
+
99
+ #vt100 #menu .popup {
100
+ background-color: #EEEEEE;
101
+ border: 1px solid black;
102
+ font-family: sans-serif;
103
+ position: absolute;
104
+ }
105
+
106
+ #vt100 #menu .popup ul {
107
+ list-style-type: none;
108
+ padding: 0px;
109
+ margin: 0px;
110
+ min-width: 10em;
111
+ }
112
+
113
+ #vt100 #menu .popup li {
114
+ padding: 3px 0.5ex 3px 0.5ex;
115
+ }
116
+
117
+ #vt100 #menu .popup li.hover {
118
+ background-color: #444444;
119
+ color: white;
120
+ }
121
+
122
+ #vt100 #menu .popup li.disabled {
123
+ color: #AAAAAA;
124
+ }
125
+
126
+ #vt100 #menu .popup hr {
127
+ margin: 0.5ex 0px 0.5ex 0px;
128
+ }
129
+
130
+ #vt100 #menu img {
131
+ margin-right: 0.5ex;
132
+ width: 1ex;
133
+ height: 1ex;
134
+ }
135
+
136
+ #vt100 #scrollable.inverted { color: #ffffff;
137
+ background-color: #000000; }
138
+
139
+ #vt100 #kbd_button {
140
+ float: left;
141
+ position: fixed;
142
+ z-index: 0;
143
+ visibility: hidden;
144
+ }
145
+
146
+ #vt100 #keyboard {
147
+ z-index: 3;
148
+ position: absolute;
149
+ }
150
+
151
+ #vt100 #keyboard .box {
152
+ font-family: sans-serif;
153
+ background-color: #cccccc;
154
+ padding: .8em;
155
+ float: left;
156
+ position: absolute;
157
+ border-radius: 10px;
158
+ -moz-border-radius: 10px;
159
+ box-shadow: 4px 4px 6px #222222;
160
+ -webkit-box-shadow: 4px 4px 6px #222222;
161
+ /* Don't set the -moz-box-shadow. It doesn't properly scale when CSS
162
+ * transforms are in effect. Once Firefox supports box-shadow, it should
163
+ * automatically do the right thing. Until then, leave shadows disabled
164
+ * for Firefox.
165
+ */
166
+ opacity: 0.85;
167
+ -moz-opacity: 0.85;
168
+ filter: alpha(opacity=85);
169
+ }
170
+
171
+ #vt100 #keyboard .box * {
172
+ vertical-align: top;
173
+ display: inline-block;
174
+ }
175
+
176
+ #vt100 #keyboard b, #vt100 #keyboard i, #vt100 #keyboard s, #vt100 #keyboard u {
177
+ font-style: normal;
178
+ font-weight: bold;
179
+ border-radius: 5px;
180
+ -moz-border-radius: 5px;
181
+ background-color: #555555;
182
+ color: #eeeeee;
183
+ box-shadow: 2px 2px 3px #222222;
184
+ -webkit-box-shadow: 2px 2px 3px #222222;
185
+ padding: 4px;
186
+ margin: 2px;
187
+ height: 2ex;
188
+ display: inline-block;
189
+ text-align: center;
190
+ text-decoration: none;
191
+ }
192
+
193
+ #vt100 #keyboard b, #vt100 #keyboard s {
194
+ width: 2ex;
195
+ }
196
+
197
+ #vt100 #keyboard u, #vt100 #keyboard s {
198
+ visibility: hidden;
199
+ }
200
+
201
+ #vt100 #keyboard .shifted {
202
+ display: none;
203
+ }
204
+
205
+ #vt100 #keyboard .selected {
206
+ color: #888888;
207
+ background-color: #eeeeee;
208
+ box-shadow: 0px 0px 3px #222222;
209
+ -webkit-box-shadow: 0px 0px 3px #222222;
210
+ position: relative;
211
+ top: 1px;
212
+ left: 1px;
213
+ }
214
+
215
+ /* [if DEFINES_COLORS] */
216
+ /* IE cannot properly handle "inherit" properties. So, the monochrome.css/
217
+ * color.css style sheets cannot work, if we define colors in styles.css.
218
+ */
219
+ /* [else DEFINES_COLORS] */
220
+ #vt100 .ansi0 { }
221
+ #vt100 .ansi1 { color: #cd0000; }
222
+ #vt100 .ansi2 { color: #00cd00; }
223
+ #vt100 .ansi3 { color: #cdcd00; }
224
+ #vt100 .ansi4 { color: #0000ee; }
225
+ #vt100 .ansi5 { color: #cd00cd; }
226
+ #vt100 .ansi6 { color: #00cdcd; }
227
+ #vt100 .ansi7 { color: #e5e5e5; }
228
+ #vt100 .ansi8 { color: #7f7f7f; }
229
+ #vt100 .ansi9 { color: #ff0000; }
230
+ #vt100 .ansi10 { color: #00ff00; }
231
+ #vt100 .ansi11 { color: #e8e800; }
232
+ #vt100 .ansi12 { color: #5c5cff; }
233
+ #vt100 .ansi13 { color: #ff00ff; }
234
+ #vt100 .ansi14 { color: #00ffff; }
235
+ #vt100 .ansi15 { color: #ffffff; }
236
+
237
+ #vt100 .bgAnsi0 { background-color: #000000; }
238
+ #vt100 .bgAnsi1 { background-color: #cd0000; }
239
+ #vt100 .bgAnsi2 { background-color: #00cd00; }
240
+ #vt100 .bgAnsi3 { background-color: #cdcd00; }
241
+ #vt100 .bgAnsi4 { background-color: #0000ee; }
242
+ #vt100 .bgAnsi5 { background-color: #cd00cd; }
243
+ #vt100 .bgAnsi6 { background-color: #00cdcd; }
244
+ #vt100 .bgAnsi7 { background-color: #e5e5e5; }
245
+ #vt100 .bgAnsi8 { background-color: #7f7f7f; }
246
+ #vt100 .bgAnsi9 { background-color: #ff0000; }
247
+ #vt100 .bgAnsi10 { background-color: #00ff00; }
248
+ #vt100 .bgAnsi11 { background-color: #e8e800; }
249
+ #vt100 .bgAnsi12 { background-color: #5c5cff; }
250
+ #vt100 .bgAnsi13 { background-color: #ff00ff; }
251
+ #vt100 .bgAnsi14 { background-color: #00ffff; }
252
+ #vt100 .bgAnsi15 { }
253
+ /* [endif DEFINES_COLORS] */
254
+
255
+ @media print {
256
+ #vt100 .scrollback {
257
+ display: none;
258
+ }
259
+
260
+ #vt100 #reconnect, #vt100 #cursor, #vt100 #menu, #vt100 #kbd_button, #vt100 #keyboard {
261
+ visibility: hidden;
262
+ }
263
+
264
+ #vt100 #scrollable {
265
+ overflow: hidden;
266
+ }
267
+
268
+ #vt100 #console, #vt100 #alt_console {
269
+ overflow: hidden;
270
+ width: 1000000ex;
271
+ }
272
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web-console-rails3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genadi Samokovarov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-05 00:00:00.000000000 Z
12
+ date: 2013-08-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -45,34 +45,6 @@ dependencies:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.2.0
48
- - !ruby/object:Gem::Dependency
49
- name: jquery-rails
50
- requirement: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ~>
53
- - !ruby/object:Gem::Version
54
- version: 3.0.4
55
- type: :runtime
56
- prerelease: false
57
- version_requirements: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: 3.0.4
62
- - !ruby/object:Gem::Dependency
63
- name: sqlite3
64
- requirement: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- type: :development
70
- prerelease: false
71
- version_requirements: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
48
  description:
77
49
  email:
78
50
  - gsamokovarov@gmail.com
@@ -94,25 +66,22 @@ files:
94
66
  - app/models/web_console/console_session.rb
95
67
  - config/routes.rb
96
68
  - lib/web_console.rb
97
- - lib/web_console/fiber.rb
69
+ - lib/web_console/slave.rb
98
70
  - lib/web_console/engine.rb
99
71
  - lib/web_console/version.rb
100
- - lib/web_console/repl/dummy.rb
101
- - lib/web_console/repl/irb.rb
102
72
  - lib/web_console/backport/active_model.rb
103
- - lib/web_console/repl.rb
104
- - lib/web_console/stream.rb
73
+ - lib/assets/javascripts/web-console.js
74
+ - lib/assets/javascripts/web_console.js
105
75
  - lib/web-console.rb
106
76
  - lib/web-console-rails3.rb
107
- - vendor/assets/javascripts/jquery.console.js
77
+ - vendor/assets/stylesheets/vt100.css
78
+ - vendor/assets/javascripts/vt100.js
108
79
  - MIT-LICENSE
109
80
  - Rakefile
110
81
  - README.markdown
111
82
  - test/helpers/web_console/console_session_helper_test.rb
112
83
  - test/controllers/web_console/console_sessions_controller_test.rb
113
- - test/web_console/repl/irb_test.rb
114
- - test/web_console/repl/dummy_test.rb
115
- - test/web_console/repl_test.rb
84
+ - test/web_console/slave_test.rb
116
85
  - test/test_helper.rb
117
86
  - test/web_console_test.rb
118
87
  - test/dummy/db/development.sqlite3
@@ -125,21 +94,27 @@ files:
125
94
  - test/dummy/log/test.log
126
95
  - test/dummy/log/development.log
127
96
  - test/dummy/script/rails
97
+ - test/dummy/tmp/cache/assets/D22/980/sprockets%2Fce6aa94ad2bc107104c0540f62c5128c
128
98
  - test/dummy/tmp/cache/assets/D9F/400/sprockets%2F7f60332f86073dc8ed80b4c2a9dfcbe1
129
99
  - test/dummy/tmp/cache/assets/D29/380/sprockets%2F92f1a0450bc4bea3364a07be42b4f645
100
+ - test/dummy/tmp/cache/assets/D9B/A30/sprockets%2Fc3436b3fe5da7c2456f26e2ae36da6c5
101
+ - test/dummy/tmp/cache/assets/D66/940/sprockets%2F6151175b6ad4f9bab0c7e2b508e7b70f
130
102
  - test/dummy/tmp/cache/assets/CD0/FC0/sprockets%2Fbb2777627d42a216f3d9ced4322040b3
131
103
  - test/dummy/tmp/cache/assets/CFA/E30/sprockets%2F35be1d26565dc0310c29f1a5e2f62f10
132
104
  - test/dummy/tmp/cache/assets/D95/C40/sprockets%2F09cb0a274209abf0391cbfce6ee67b82
133
105
  - test/dummy/tmp/cache/assets/D90/B30/sprockets%2Fe03fe93eb7fe888c9d21ee62816596ff
106
+ - test/dummy/tmp/cache/assets/DDB/890/sprockets%2F5ed566ca9fafd1b82373ffea2a8d8681
134
107
  - test/dummy/tmp/cache/assets/CBD/6E0/sprockets%2F3293dfc0984076f0e8371a9e7640f4a8
135
108
  - test/dummy/tmp/cache/assets/C9E/AD0/sprockets%2F4a42d8916f3fa47867445f696497a92c
136
109
  - test/dummy/tmp/cache/assets/E5A/C40/sprockets%2F164cfa0fd9eb1ec1acdfaa278c83e9c5
137
110
  - test/dummy/tmp/cache/assets/DD4/440/sprockets%2Fa33d646ac00d8bc87a4a496af6eed96f
111
+ - test/dummy/tmp/cache/assets/DAE/8C0/sprockets%2Fa9b8f7bc5ca2efe658a13d7f4609c729
138
112
  - test/dummy/tmp/cache/assets/DB3/0C0/sprockets%2F689fb998e2a7add3e00db88df254c87a
139
113
  - test/dummy/tmp/cache/assets/D21/6B0/sprockets%2F9e242803fe56d6305274ff7e6487deda
140
114
  - test/dummy/tmp/cache/assets/D3E/380/sprockets%2F434d98c8380bb9daf43810155aaf68ba
141
115
  - test/dummy/tmp/cache/assets/D1D/FD0/sprockets%2Fa4a5ffe670666ce3d8d59179905201ef
142
116
  - test/dummy/tmp/cache/assets/D69/670/sprockets%2Fc6b4a05846fd1b98fe9252ecdd1601c0
117
+ - test/dummy/tmp/cache/assets/D69/710/sprockets%2Ff67078d4b979a58c97feede196f6b385
143
118
  - test/dummy/tmp/cache/assets/CA7/D70/sprockets%2F3e9e32bbc8c81a93002555265a36a852
144
119
  - test/dummy/app/helpers/application_helper.rb
145
120
  - test/dummy/app/controllers/application_controller.rb
@@ -149,6 +124,7 @@ files:
149
124
  - test/dummy/config.ru
150
125
  - test/dummy/config/locales/en.yml
151
126
  - test/dummy/config/application.rb
127
+ - test/dummy/config/application.rb.orig
152
128
  - test/dummy/config/initializers/backtrace_silencers.rb
153
129
  - test/dummy/config/initializers/session_store.rb
154
130
  - test/dummy/config/initializers/mime_types.rb
@@ -192,9 +168,7 @@ summary: Rails Console on the Browser, Rails 3 edition.
192
168
  test_files:
193
169
  - test/helpers/web_console/console_session_helper_test.rb
194
170
  - test/controllers/web_console/console_sessions_controller_test.rb
195
- - test/web_console/repl/irb_test.rb
196
- - test/web_console/repl/dummy_test.rb
197
- - test/web_console/repl_test.rb
171
+ - test/web_console/slave_test.rb
198
172
  - test/test_helper.rb
199
173
  - test/web_console_test.rb
200
174
  - test/dummy/db/development.sqlite3
@@ -207,21 +181,27 @@ test_files:
207
181
  - test/dummy/log/test.log
208
182
  - test/dummy/log/development.log
209
183
  - test/dummy/script/rails
184
+ - test/dummy/tmp/cache/assets/D22/980/sprockets%2Fce6aa94ad2bc107104c0540f62c5128c
210
185
  - test/dummy/tmp/cache/assets/D9F/400/sprockets%2F7f60332f86073dc8ed80b4c2a9dfcbe1
211
186
  - test/dummy/tmp/cache/assets/D29/380/sprockets%2F92f1a0450bc4bea3364a07be42b4f645
187
+ - test/dummy/tmp/cache/assets/D9B/A30/sprockets%2Fc3436b3fe5da7c2456f26e2ae36da6c5
188
+ - test/dummy/tmp/cache/assets/D66/940/sprockets%2F6151175b6ad4f9bab0c7e2b508e7b70f
212
189
  - test/dummy/tmp/cache/assets/CD0/FC0/sprockets%2Fbb2777627d42a216f3d9ced4322040b3
213
190
  - test/dummy/tmp/cache/assets/CFA/E30/sprockets%2F35be1d26565dc0310c29f1a5e2f62f10
214
191
  - test/dummy/tmp/cache/assets/D95/C40/sprockets%2F09cb0a274209abf0391cbfce6ee67b82
215
192
  - test/dummy/tmp/cache/assets/D90/B30/sprockets%2Fe03fe93eb7fe888c9d21ee62816596ff
193
+ - test/dummy/tmp/cache/assets/DDB/890/sprockets%2F5ed566ca9fafd1b82373ffea2a8d8681
216
194
  - test/dummy/tmp/cache/assets/CBD/6E0/sprockets%2F3293dfc0984076f0e8371a9e7640f4a8
217
195
  - test/dummy/tmp/cache/assets/C9E/AD0/sprockets%2F4a42d8916f3fa47867445f696497a92c
218
196
  - test/dummy/tmp/cache/assets/E5A/C40/sprockets%2F164cfa0fd9eb1ec1acdfaa278c83e9c5
219
197
  - test/dummy/tmp/cache/assets/DD4/440/sprockets%2Fa33d646ac00d8bc87a4a496af6eed96f
198
+ - test/dummy/tmp/cache/assets/DAE/8C0/sprockets%2Fa9b8f7bc5ca2efe658a13d7f4609c729
220
199
  - test/dummy/tmp/cache/assets/DB3/0C0/sprockets%2F689fb998e2a7add3e00db88df254c87a
221
200
  - test/dummy/tmp/cache/assets/D21/6B0/sprockets%2F9e242803fe56d6305274ff7e6487deda
222
201
  - test/dummy/tmp/cache/assets/D3E/380/sprockets%2F434d98c8380bb9daf43810155aaf68ba
223
202
  - test/dummy/tmp/cache/assets/D1D/FD0/sprockets%2Fa4a5ffe670666ce3d8d59179905201ef
224
203
  - test/dummy/tmp/cache/assets/D69/670/sprockets%2Fc6b4a05846fd1b98fe9252ecdd1601c0
204
+ - test/dummy/tmp/cache/assets/D69/710/sprockets%2Ff67078d4b979a58c97feede196f6b385
225
205
  - test/dummy/tmp/cache/assets/CA7/D70/sprockets%2F3e9e32bbc8c81a93002555265a36a852
226
206
  - test/dummy/app/helpers/application_helper.rb
227
207
  - test/dummy/app/controllers/application_controller.rb
@@ -231,6 +211,7 @@ test_files:
231
211
  - test/dummy/config.ru
232
212
  - test/dummy/config/locales/en.yml
233
213
  - test/dummy/config/application.rb
214
+ - test/dummy/config/application.rb.orig
234
215
  - test/dummy/config/initializers/backtrace_silencers.rb
235
216
  - test/dummy/config/initializers/session_store.rb
236
217
  - test/dummy/config/initializers/mime_types.rb
@@ -1,48 +0,0 @@
1
- module WebConsole
2
- # Poor Man's Fiber (API compatible Thread based Fiber implementation for Ruby 1.8)
3
- # (c) 2008 Aman Gupta (tmm1)
4
- #
5
- # For the purposes of our REPL adapters there is a need for fiber invocation
6
- # across threads. The native implementation does not support that.
7
- class FiberError < StandardError; end
8
-
9
- class Fiber
10
- def initialize
11
- raise ArgumentError, 'new Fiber requires a block' unless block_given?
12
-
13
- @yield = Queue.new
14
- @resume = Queue.new
15
-
16
- @thread = Thread.new { @yield.push [ *yield(*@resume.pop) ] }
17
- @thread.abort_on_exception = true
18
- @thread[:fiber] = self
19
- end
20
- attr_reader :thread
21
-
22
- def resume(*args)
23
- raise FiberError, 'dead fiber called' unless @thread.alive?
24
- @resume.push(args)
25
- result = @yield.pop
26
- result.size > 1 ? result : result.first
27
- end
28
-
29
- def yield(*args)
30
- @yield.push(args)
31
- result = @resume.pop
32
- result.size > 1 ? result : result.first
33
- end
34
-
35
- def self.yield(*args)
36
- raise FiberError, "can't yield from root fiber" unless fiber = Thread.current[:fiber]
37
- fiber.yield(*args)
38
- end
39
-
40
- def self.current
41
- Thread.current[:fiber] or raise FiberError, 'not inside a fiber'
42
- end
43
-
44
- def inspect
45
- "#<#{self.class}:0x#{self.object_id.to_s(16)}>"
46
- end
47
- end
48
- end