rack-webconsole 0.1.1 → 0.1.2
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.
- data/Gemfile.lock +1 -1
- data/History +7 -0
- data/Readme.md +28 -14
- data/lib/rack/webconsole/version.rb +1 -1
- data/public/webconsole.css +3 -4
- data/public/webconsole.html +2 -2
- data/public/webconsole.js +43 -43
- metadata +20 -20
data/Gemfile.lock
CHANGED
data/History
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
=== 0.1.2 / 2011-08-01
|
2
|
+
|
3
|
+
+ Change field name to avoid conflicts with other forms (Chris Apolzon)
|
4
|
+
+ Prevent visual flash of unstyled content (Rob Cameron)
|
5
|
+
+ Fix minor styling issues (Jeff Kreeftmeijer)
|
6
|
+
+ Avoid conflicts with libraries other than JQuery (Jo Liss)
|
7
|
+
|
1
8
|
=== 0.1.1 / 2011-07-27
|
2
9
|
|
3
10
|
! Fix bug with Content-Length not being calculated appropriately. (Corin Langosch)
|
data/Readme.md
CHANGED
@@ -27,7 +27,9 @@ protect against cross-site request forgery.
|
|
27
27
|
|
28
28
|
In your Gemfile:
|
29
29
|
|
30
|
-
|
30
|
+
```ruby
|
31
|
+
gem 'rack-webconsole'
|
32
|
+
```
|
31
33
|
|
32
34
|
Rack-webconsole **needs JQuery**. If you are using Rails 3, JQuery is loaded by
|
33
35
|
default. In case you don't want to use JQuery in your application,
|
@@ -35,7 +37,9 @@ default. In case you don't want to use JQuery in your application,
|
|
35
37
|
should put this line somewhere in your application (a Rails initializer, or
|
36
38
|
some configuration file):
|
37
39
|
|
38
|
-
|
40
|
+
```ruby
|
41
|
+
Rack::Webconsole.inject_jquery = true
|
42
|
+
```
|
39
43
|
|
40
44
|
##Usage with Rails 3
|
41
45
|
|
@@ -48,24 +52,34 @@ the console will show :)
|
|
48
52
|
With Sinatra and Padrino you have to tell your application to use the
|
49
53
|
middleware:
|
50
54
|
|
51
|
-
|
52
|
-
|
55
|
+
```ruby
|
56
|
+
require 'sinatra'
|
57
|
+
require 'rack/webconsole'
|
53
58
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
59
|
+
class MySinatraApp < Sinatra::Application
|
60
|
+
use Rack::Webconsole
|
61
|
+
# . . .
|
62
|
+
end
|
58
63
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
64
|
+
class SamplePadrino < Padrino::Application
|
65
|
+
use Rack::Webconsole
|
66
|
+
# . . .
|
67
|
+
end
|
68
|
+
```
|
63
69
|
|
64
70
|
NOTE: If you are using Bundler and initializing it from config.ru, you don't
|
65
71
|
have to `require 'rack/webconsole'` manually, otherwise you have to.
|
66
72
|
|
67
73
|
And it works! Fire up the server, go to any page and press the ` ` ` key.
|
68
74
|
|
75
|
+
##Usage with Rails 2
|
76
|
+
|
77
|
+
You need to add the following code to an intializer (i.e. config/initializers/webconsole.rb):
|
78
|
+
|
79
|
+
```ruby
|
80
|
+
require 'rack/webconsole'
|
81
|
+
ActionController::Dispatcher.middleware.insert_after 1, Rack::Webconsole
|
82
|
+
```
|
69
83
|
|
70
84
|
##Commands
|
71
85
|
|
@@ -88,9 +102,9 @@ You can also build the documentation with the following command:
|
|
88
102
|
|
89
103
|
* Fork the project.
|
90
104
|
* Make your feature addition or bug fix.
|
91
|
-
* Add tests for it. This is important so
|
105
|
+
* Add tests for it. This is important so we don't break it in a
|
92
106
|
future version unintentionally.
|
93
|
-
* Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself
|
107
|
+
* Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself we can ignore when we pull)
|
94
108
|
* Send us a pull request. Bonus points for topic branches.
|
95
109
|
|
96
110
|
## Copyright
|
data/public/webconsole.css
CHANGED
@@ -38,14 +38,14 @@
|
|
38
38
|
color: #FFF;
|
39
39
|
}
|
40
40
|
#rack-webconsole form div.results_wrapper{
|
41
|
-
height: 100%;
|
42
41
|
width: 100%;
|
43
42
|
position: absolute;
|
44
43
|
overflow-x: auto;
|
44
|
+
top: 0;
|
45
|
+
bottom: 40px;
|
45
46
|
}
|
46
47
|
#rack-webconsole form div.results{
|
47
48
|
padding: 10px;
|
48
|
-
padding-bottom: 40px;
|
49
49
|
}
|
50
50
|
#rack-webconsole .prompt{
|
51
51
|
width: 30px;
|
@@ -59,8 +59,6 @@
|
|
59
59
|
width: 100%;
|
60
60
|
position: absolute;
|
61
61
|
bottom: 0px;
|
62
|
-
height: 30px;
|
63
|
-
padding-top: 10px;
|
64
62
|
background: #000;
|
65
63
|
}
|
66
64
|
#rack-webconsole form div.input input{
|
@@ -69,6 +67,7 @@
|
|
69
67
|
box-sizing: border-box;
|
70
68
|
margin-top: 0px;
|
71
69
|
margin-bottom: 0px;
|
70
|
+
padding: 0px;
|
72
71
|
width: 100%;
|
73
72
|
font-size: 14px;
|
74
73
|
background: transparent;
|
data/public/webconsole.html
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<div id="rack-webconsole">
|
1
|
+
<div id="rack-webconsole" style="display:none">
|
2
2
|
<form accept-charset="UTF-8" action="/webconsole" method="post">
|
3
3
|
<input name="utf8" type="hidden" value="✓"/>
|
4
4
|
<div class="results_wrapper">
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<div class="input">
|
9
9
|
<span class="prompt">>></span>
|
10
10
|
<span class="input_box">
|
11
|
-
<input id="
|
11
|
+
<input id="webconsole_query" name="webconsole_query" type="text" />
|
12
12
|
</div>
|
13
13
|
</div>
|
14
14
|
</form>
|
data/public/webconsole.js
CHANGED
@@ -1,53 +1,53 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
$("#rack-webconsole form input").keyup(function(event) {
|
6
|
-
function escapeHTML(string) {
|
7
|
-
return(string.replace(/&/g,'&').
|
8
|
-
replace(/>/g,'>').
|
9
|
-
replace(/</g,'<').
|
10
|
-
replace(/"/g,'"')
|
11
|
-
);
|
12
|
-
};
|
1
|
+
(function($) {
|
2
|
+
$('#rack-webconsole form').submit(function(e){
|
3
|
+
e.preventDefault();
|
4
|
+
});
|
13
5
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
success: function (data) {
|
23
|
-
var q = "<div class='query'>" + escapeHTML(">> " + query) + "</div>";
|
24
|
-
var r = "<div class='result'>" + escapeHTML("=> " + data.result) + "</div>";
|
25
|
-
$("#rack-webconsole .results").append(q + r);
|
26
|
-
$("#rack-webconsole .results_wrapper").scrollTop(
|
27
|
-
$("#rack-webconsole .results").height()
|
28
|
-
);
|
29
|
-
$("#query").val('');
|
30
|
-
}
|
31
|
-
});
|
32
|
-
}
|
33
|
-
});
|
6
|
+
$("#rack-webconsole form input").keyup(function(event) {
|
7
|
+
function escapeHTML(string) {
|
8
|
+
return(string.replace(/&/g,'&').
|
9
|
+
replace(/>/g,'>').
|
10
|
+
replace(/</g,'<').
|
11
|
+
replace(/"/g,'"')
|
12
|
+
);
|
13
|
+
};
|
34
14
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
15
|
+
if (event.which == 13) {
|
16
|
+
/*$.post('/webconsole', $("#rack-webconsole form").serialize());*/
|
17
|
+
var query = $("#webconsole_query").val();
|
18
|
+
$.ajax({
|
19
|
+
url: '/webconsole',
|
20
|
+
type: 'POST',
|
21
|
+
dataType: 'json',
|
22
|
+
data: ({query: query, token: "TOKEN"}),
|
23
|
+
success: function (data) {
|
24
|
+
var q = "<div class='query'>" + escapeHTML(">> " + query) + "</div>";
|
25
|
+
var r = "<div class='result'>" + escapeHTML("=> " + data.result) + "</div>";
|
26
|
+
$("#rack-webconsole .results").append(q + r);
|
42
27
|
$("#rack-webconsole .results_wrapper").scrollTop(
|
43
28
|
$("#rack-webconsole .results").height()
|
44
29
|
);
|
45
|
-
|
46
|
-
$("#rack-webconsole form input").blur();
|
30
|
+
$("#webconsole_query").val('');
|
47
31
|
}
|
48
32
|
});
|
49
|
-
event.preventDefault();
|
50
33
|
}
|
51
34
|
});
|
52
|
-
});
|
53
35
|
|
36
|
+
$(document).ready(function() {
|
37
|
+
$(this).keypress(function(event) {
|
38
|
+
if (event.which == 96) {
|
39
|
+
$("#rack-webconsole").slideToggle('fast', function() {
|
40
|
+
if ($(this).is(':visible')) {
|
41
|
+
$("#rack-webconsole form input").focus();
|
42
|
+
$("#rack-webconsole .results_wrapper").scrollTop(
|
43
|
+
$("#rack-webconsole .results").height()
|
44
|
+
);
|
45
|
+
} else {
|
46
|
+
$("#rack-webconsole form input").blur();
|
47
|
+
}
|
48
|
+
});
|
49
|
+
event.preventDefault();
|
50
|
+
}
|
51
|
+
});
|
52
|
+
});
|
53
|
+
})(jQuery);
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-webconsole
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,12 +11,12 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2011-
|
14
|
+
date: 2011-08-01 00:00:00.000000000 +02:00
|
15
15
|
default_executable:
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rack
|
19
|
-
requirement: &
|
19
|
+
requirement: &2156017340 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
22
|
- - ! '>='
|
@@ -24,10 +24,10 @@ dependencies:
|
|
24
24
|
version: '0'
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *2156017340
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: json
|
30
|
-
requirement: &
|
30
|
+
requirement: &2156016220 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ! '>='
|
@@ -35,10 +35,10 @@ dependencies:
|
|
35
35
|
version: '0'
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
|
-
version_requirements: *
|
38
|
+
version_requirements: *2156016220
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: minitest
|
41
|
-
requirement: &
|
41
|
+
requirement: &2156015160 !ruby/object:Gem::Requirement
|
42
42
|
none: false
|
43
43
|
requirements:
|
44
44
|
- - ! '>='
|
@@ -46,10 +46,10 @@ dependencies:
|
|
46
46
|
version: '0'
|
47
47
|
type: :development
|
48
48
|
prerelease: false
|
49
|
-
version_requirements: *
|
49
|
+
version_requirements: *2156015160
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: purdytest
|
52
|
-
requirement: &
|
52
|
+
requirement: &2156012860 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
54
54
|
requirements:
|
55
55
|
- - ! '>='
|
@@ -57,10 +57,10 @@ dependencies:
|
|
57
57
|
version: '0'
|
58
58
|
type: :development
|
59
59
|
prerelease: false
|
60
|
-
version_requirements: *
|
60
|
+
version_requirements: *2156012860
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: mocha
|
63
|
-
requirement: &
|
63
|
+
requirement: &2156010800 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
65
65
|
requirements:
|
66
66
|
- - ! '>='
|
@@ -68,10 +68,10 @@ dependencies:
|
|
68
68
|
version: '0'
|
69
69
|
type: :development
|
70
70
|
prerelease: false
|
71
|
-
version_requirements: *
|
71
|
+
version_requirements: *2156010800
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: yard
|
74
|
-
requirement: &
|
74
|
+
requirement: &2156009780 !ruby/object:Gem::Requirement
|
75
75
|
none: false
|
76
76
|
requirements:
|
77
77
|
- - ! '>='
|
@@ -79,10 +79,10 @@ dependencies:
|
|
79
79
|
version: '0'
|
80
80
|
type: :development
|
81
81
|
prerelease: false
|
82
|
-
version_requirements: *
|
82
|
+
version_requirements: *2156009780
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: bluecloth
|
85
|
-
requirement: &
|
85
|
+
requirement: &2156008200 !ruby/object:Gem::Requirement
|
86
86
|
none: false
|
87
87
|
requirements:
|
88
88
|
- - ! '>='
|
@@ -90,10 +90,10 @@ dependencies:
|
|
90
90
|
version: '0'
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
|
-
version_requirements: *
|
93
|
+
version_requirements: *2156008200
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: rake
|
96
|
-
requirement: &
|
96
|
+
requirement: &2156007060 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
98
|
requirements:
|
99
99
|
- - ! '>='
|
@@ -101,7 +101,7 @@ dependencies:
|
|
101
101
|
version: '0'
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
|
-
version_requirements: *
|
104
|
+
version_requirements: *2156007060
|
105
105
|
description: Rack-based console inside your web applications
|
106
106
|
email:
|
107
107
|
- info@codegram.com
|
@@ -151,7 +151,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
151
151
|
version: '0'
|
152
152
|
segments:
|
153
153
|
- 0
|
154
|
-
hash:
|
154
|
+
hash: 1863180217222437049
|
155
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
156
|
none: false
|
157
157
|
requirements:
|
@@ -160,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
160
|
version: '0'
|
161
161
|
segments:
|
162
162
|
- 0
|
163
|
-
hash:
|
163
|
+
hash: 1863180217222437049
|
164
164
|
requirements: []
|
165
165
|
rubyforge_project: rack-webconsole
|
166
166
|
rubygems_version: 1.6.2
|