web-console 2.0.0 → 2.1.0
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 +4 -4
- data/README.markdown +132 -85
- data/lib/web_console.rb +14 -13
- data/lib/web_console/errors.rb +7 -0
- data/lib/web_console/{repl.rb → evaluator.rb} +7 -10
- data/lib/web_console/helper.rb +22 -0
- data/lib/web_console/integration.rb +8 -0
- data/lib/web_console/{core_ext/exception → integration}/cruby.rb +0 -0
- data/lib/web_console/integration/jruby.rb +111 -0
- data/lib/web_console/integration/rubinius.rb +66 -0
- data/lib/web_console/middleware.rb +117 -0
- data/lib/web_console/railtie.rb +61 -0
- data/lib/web_console/request.rb +30 -0
- data/lib/web_console/session.rb +65 -0
- data/lib/web_console/template.rb +49 -0
- data/lib/web_console/templates/_inner_console_markup.html +3 -0
- data/lib/web_console/templates/_markup.html +4 -0
- data/lib/web_console/templates/_prompt_box_markup.html +2 -0
- data/lib/web_console/templates/console.js +373 -0
- data/lib/web_console/templates/error_page.js +83 -0
- data/lib/web_console/templates/index.html +8 -0
- data/lib/web_console/templates/layouts/inlined_string.erb +1 -0
- data/lib/web_console/templates/layouts/javascript.erb +5 -0
- data/lib/web_console/templates/main.js +24 -0
- data/lib/web_console/templates/style.css +9 -0
- data/lib/web_console/version.rb +1 -1
- data/lib/web_console/whiny_request.rb +38 -0
- data/lib/web_console/whitelist.rb +42 -0
- data/test/dummy/config/environments/test.rb +0 -4
- data/test/dummy/log/development.log +7075 -0
- data/test/dummy/log/test.log +66006 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/support/scenarios/bad_custom_error_scenario.rb +17 -0
- data/test/support/scenarios/basic_nested_scenario.rb +15 -0
- data/test/support/scenarios/custom_error_scenario.rb +11 -0
- data/test/support/scenarios/eval_nested_scenario.rb +15 -0
- data/test/support/scenarios/flat_scenario.rb +9 -0
- data/test/support/scenarios/reraised_scenario.rb +21 -0
- data/test/test_helper.rb +50 -3
- data/test/web_console/evaluator_test.rb +73 -0
- data/test/web_console/helper_test.rb +76 -0
- data/test/web_console/integration_test.rb +47 -0
- data/test/web_console/middleware_test.rb +116 -0
- data/test/web_console/railtie_test.rb +99 -0
- data/test/web_console/request_test.rb +52 -0
- data/test/web_console/session_test.rb +59 -0
- data/test/web_console/whiny_request_test.rb +33 -0
- data/test/web_console/whitelist_test.rb +43 -0
- metadata +66 -56
- data/lib/action_dispatch/debug_exceptions.rb +0 -105
- data/lib/action_dispatch/exception_wrapper.rb +0 -38
- data/lib/action_dispatch/templates/rescues/_request_and_response.html.erb +0 -34
- data/lib/action_dispatch/templates/rescues/_request_and_response.text.erb +0 -23
- data/lib/action_dispatch/templates/rescues/_source.erb +0 -29
- data/lib/action_dispatch/templates/rescues/_trace.html.erb +0 -72
- data/lib/action_dispatch/templates/rescues/_trace.text.erb +0 -9
- data/lib/action_dispatch/templates/rescues/_web_console.html.erb +0 -420
- data/lib/action_dispatch/templates/rescues/diagnostics.html.erb +0 -18
- data/lib/action_dispatch/templates/rescues/diagnostics.text.erb +0 -9
- data/lib/action_dispatch/templates/rescues/layout.erb +0 -160
- data/lib/action_dispatch/templates/rescues/missing_template.html.erb +0 -13
- data/lib/action_dispatch/templates/rescues/missing_template.text.erb +0 -3
- data/lib/action_dispatch/templates/rescues/routing_error.html.erb +0 -34
- data/lib/action_dispatch/templates/rescues/routing_error.text.erb +0 -11
- data/lib/action_dispatch/templates/rescues/template_error.html.erb +0 -22
- data/lib/action_dispatch/templates/rescues/template_error.text.erb +0 -7
- data/lib/action_dispatch/templates/rescues/unknown_action.html.erb +0 -6
- data/lib/action_dispatch/templates/rescues/unknown_action.text.erb +0 -3
- data/lib/action_dispatch/templates/routes/_route.html.erb +0 -16
- data/lib/action_dispatch/templates/routes/_table.html.erb +0 -200
- data/lib/assets/javascripts/web-console.js +0 -1
- data/lib/assets/javascripts/web_console.js +0 -41
- data/lib/web_console/controller_helpers.rb +0 -46
- data/lib/web_console/core_ext/exception.rb +0 -7
- data/lib/web_console/core_ext/exception/jruby.rb +0 -25
- data/lib/web_console/core_ext/exception/rubinius.rb +0 -32
- data/lib/web_console/engine.rb +0 -47
- data/lib/web_console/repl_session.rb +0 -89
- data/lib/web_console/unsupported_platforms.rb +0 -28
- data/lib/web_console/view_helpers.rb +0 -16
- data/test/action_pack/exception_wrapper_test.rb +0 -26
- data/test/controllers/tests_controller_test.rb +0 -41
- data/test/web_console/core_ext/exception_test.rb +0 -46
- data/test/web_console/engine_test.rb +0 -108
- data/test/web_console/repl_session_test.rb +0 -32
- data/test/web_console/repl_test.rb +0 -75
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module WebConsole
|
|
4
|
+
class RailtieTest < ActiveSupport::TestCase
|
|
5
|
+
test 'config.whitelisted_ips sets whitelisted networks' do
|
|
6
|
+
new_uninitialized_app do |app|
|
|
7
|
+
app.config.web_console.whitelisted_ips = %w( 172.16.0.0/12 192.168.0.0/16 )
|
|
8
|
+
app.initialize!
|
|
9
|
+
|
|
10
|
+
1.upto(255).each do |n|
|
|
11
|
+
assert_includes Request.whitelisted_ips, "172.16.0.#{n}"
|
|
12
|
+
assert_includes Request.whitelisted_ips, "192.168.0.#{n}"
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
test 'config.whitelisted_ips always includes localhost' do
|
|
18
|
+
new_uninitialized_app do |app|
|
|
19
|
+
app.config.web_console.whitelisted_ips = '8.8.8.8'
|
|
20
|
+
app.initialize!
|
|
21
|
+
|
|
22
|
+
assert_includes Request.whitelisted_ips, '127.0.0.1'
|
|
23
|
+
assert_includes Request.whitelisted_ips, '::1'
|
|
24
|
+
assert_includes Request.whitelisted_ips, '8.8.8.8'
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
test 'config.template_paths prepend paths if it exists' do
|
|
29
|
+
new_uninitialized_app do |app|
|
|
30
|
+
dirname = File.expand_path('..', __FILE__)
|
|
31
|
+
|
|
32
|
+
app.config.web_console.template_paths = dirname
|
|
33
|
+
app.initialize!
|
|
34
|
+
|
|
35
|
+
assert_equal dirname, Template.template_paths.first
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
test 'config.whiny_request removes extra logging' do
|
|
40
|
+
new_uninitialized_app do |app|
|
|
41
|
+
app.config.web_console.whiny_requests = false
|
|
42
|
+
app.initialize!
|
|
43
|
+
|
|
44
|
+
assert_not Middleware.whiny_requests
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
test 'config.acceptable_content_types adds extra content types' do
|
|
49
|
+
preserving_acceptable_content_type do
|
|
50
|
+
new_uninitialized_app do |app|
|
|
51
|
+
app.config.web_console.acceptable_content_types = [Mime::ALL]
|
|
52
|
+
app.initialize!
|
|
53
|
+
|
|
54
|
+
assert_includes Request.acceptable_content_types, Mime::ALL
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
private
|
|
60
|
+
|
|
61
|
+
def new_uninitialized_app(root = File.expand_path('../../dummy', __FILE__))
|
|
62
|
+
old_app = Rails.application
|
|
63
|
+
|
|
64
|
+
FileUtils.mkdir_p(root)
|
|
65
|
+
Dir.chdir(root) do
|
|
66
|
+
Rails.application = nil
|
|
67
|
+
|
|
68
|
+
app = Class.new(Rails::Application)
|
|
69
|
+
app.config.eager_load = false
|
|
70
|
+
app.config.time_zone = 'UTC'
|
|
71
|
+
app.config.middleware ||= Rails::Configuration::MiddlewareStackProxy.new
|
|
72
|
+
app.config.active_support.deprecation = :notify
|
|
73
|
+
|
|
74
|
+
yield app
|
|
75
|
+
end
|
|
76
|
+
ensure
|
|
77
|
+
Rails.application = old_app
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def preserving_acceptable_content_type
|
|
81
|
+
acceptable_content_types = Request.acceptable_content_types.dup
|
|
82
|
+
yield
|
|
83
|
+
ensure
|
|
84
|
+
Request.acceptable_content_types = acceptable_content_types
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def teardown_fixtures(*)
|
|
88
|
+
super
|
|
89
|
+
rescue
|
|
90
|
+
# This is nasty hack to prevent a connection to the database in JRuby's
|
|
91
|
+
# activerecord-jdbcsqlite3-adapter. We don't really require a database
|
|
92
|
+
# connection, for the tests to run.
|
|
93
|
+
#
|
|
94
|
+
# The sad thing is that I couldn't figure out why does it only happens
|
|
95
|
+
# on activerecord-jdbcsqlite3-adapter and how to actually prevent it,
|
|
96
|
+
# rather than work-around it.
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module WebConsole
|
|
4
|
+
class RequestTest < ActiveSupport::TestCase
|
|
5
|
+
setup do
|
|
6
|
+
Request.stubs(:whitelisted_ips).returns(IPAddr.new('127.0.0.1'))
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
test '#from_whitelited_ip? is falsy for blacklisted IPs' do
|
|
10
|
+
req = request('http://example.com', 'REMOTE_ADDR' => '0.0.0.0')
|
|
11
|
+
|
|
12
|
+
assert_not req.from_whitelited_ip?
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
test '#from_whitelited_ip? is truthy for whitelisted IPs' do
|
|
16
|
+
req = request('http://example.com', 'REMOTE_ADDR' => '127.0.0.1')
|
|
17
|
+
|
|
18
|
+
assert req.from_whitelited_ip?
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
test '#acceptable_content_type? is truthy for explicit HTML content type' do
|
|
22
|
+
html = request('http://example.com', 'CONTENT_TYPE' => 'text/html')
|
|
23
|
+
xhtml = request('http://example.com', 'CONTENT_TYPE' => 'application/xhtml+xml')
|
|
24
|
+
|
|
25
|
+
[ html, xhtml ].each { |req| assert req.acceptable_content_type? }
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
test '#acceptable_content_type? is truthy for plain text content type' do
|
|
29
|
+
req = request('http://example.com', 'CONTENT_TYPE' => 'text/plain')
|
|
30
|
+
|
|
31
|
+
assert req.acceptable_content_type?
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
test '#acceptable_content_type? is truthy for blank content type' do
|
|
35
|
+
req = request('http://example.com', 'CONTENT_TYPE' => '')
|
|
36
|
+
|
|
37
|
+
assert req.acceptable_content_type?
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
test '#acceptable_content_type? is falsy for non blank and non HTML content type' do
|
|
41
|
+
req = request('http://example.com', 'CONTENT_TYPE' => 'application/json')
|
|
42
|
+
|
|
43
|
+
assert_not req.acceptable_content_type?
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
private
|
|
47
|
+
|
|
48
|
+
def request(*args)
|
|
49
|
+
Request.new(Rack::MockRequest.env_for(*args))
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module WebConsole
|
|
4
|
+
class SessionTest < ActiveSupport::TestCase
|
|
5
|
+
class LineAwareError < StandardError
|
|
6
|
+
def self.raise
|
|
7
|
+
::Kernel.raise new(__LINE__)
|
|
8
|
+
rescue => exc
|
|
9
|
+
exc
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
attr_reader :line
|
|
13
|
+
|
|
14
|
+
def initialize(line)
|
|
15
|
+
@line = line
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
setup do
|
|
20
|
+
Session::INMEMORY_STORAGE.clear
|
|
21
|
+
@session = Session.new TOPLEVEL_BINDING
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
test 'returns nil when a session is not found' do
|
|
25
|
+
assert_nil Session.find("nonexistent session")
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
test 'find returns a persisted object' do
|
|
29
|
+
assert_equal @session, Session.find(@session.id)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
test 'can evaluate code in the currently selected binding' do
|
|
33
|
+
assert_equal "=> 42\n", @session.eval('40 + 2')
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
test 'can create session from a single binding' do
|
|
37
|
+
saved_line, saved_binding = __LINE__, binding
|
|
38
|
+
session = Session.from_binding(saved_binding)
|
|
39
|
+
|
|
40
|
+
assert_equal "=> #{saved_line}\n", session.eval('__LINE__')
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
test 'can create session from an exception' do
|
|
44
|
+
exc = LineAwareError.raise
|
|
45
|
+
session = Session.from_exception(exc)
|
|
46
|
+
|
|
47
|
+
assert_equal "=> #{exc.line}\n", session.eval('__LINE__')
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
test 'can switch to bindings' do
|
|
51
|
+
exc, saved_line = LineAwareError.raise, __LINE__
|
|
52
|
+
|
|
53
|
+
session = Session.from_exception(exc)
|
|
54
|
+
session.switch_binding_to(1)
|
|
55
|
+
|
|
56
|
+
assert_equal "=> #{saved_line}\n", session.eval('__LINE__')
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module WebConsole
|
|
4
|
+
class WhinyRequestTest < ActiveSupport::TestCase
|
|
5
|
+
test '#from_whitelited_ip? logs out to stderr' do
|
|
6
|
+
Request.stubs(:whitelisted_ips).returns(IPAddr.new('127.0.0.1'))
|
|
7
|
+
assert_output_to_stderr do
|
|
8
|
+
req = request('http://example.com', 'REMOTE_ADDR' => '0.0.0.0')
|
|
9
|
+
assert_not req.from_whitelited_ip?
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
test '#acceptable_content_type? logs out to stderr' do
|
|
14
|
+
Request.stubs(:acceptable_content_types).returns([])
|
|
15
|
+
assert_output_to_stderr do
|
|
16
|
+
req = request('http://example.com', 'CONTENT_TYPE' => 'application/json')
|
|
17
|
+
assert_not req.acceptable_content_type?
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
private
|
|
22
|
+
|
|
23
|
+
def assert_output_to_stderr
|
|
24
|
+
output = capture(:stderr) { yield }
|
|
25
|
+
assert_not output.blank?
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def request(*args)
|
|
29
|
+
request = Request.new(Rack::MockRequest.env_for(*args))
|
|
30
|
+
WhinyRequest.new(request)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module WebConsole
|
|
2
|
+
class WhitelistTest < ActiveSupport::TestCase
|
|
3
|
+
test 'localhost is always whitelisted' do
|
|
4
|
+
whitelisted_ips = whitelist('8.8.8.8')
|
|
5
|
+
|
|
6
|
+
assert_includes whitelisted_ips, '127.0.0.1'
|
|
7
|
+
assert_includes whitelisted_ips, '::1'
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
test 'can whitelist single IPs' do
|
|
11
|
+
whitelisted_ips = whitelist('8.8.8.8')
|
|
12
|
+
|
|
13
|
+
assert_includes whitelisted_ips, '8.8.8.8'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
test 'can whitelist whole networks' do
|
|
17
|
+
whitelisted_ips = whitelist('172.16.0.0/12')
|
|
18
|
+
|
|
19
|
+
1.upto(255).each do |n|
|
|
20
|
+
assert_includes whitelisted_ips, "172.16.0.#{n}"
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
test 'can whitelist multiple networks' do
|
|
25
|
+
whitelisted_ips = whitelist %w(172.16.0.0/12 192.168.0.0/16)
|
|
26
|
+
|
|
27
|
+
1.upto(255).each do |n|
|
|
28
|
+
assert_includes whitelisted_ips, "172.16.0.#{n}"
|
|
29
|
+
assert_includes whitelisted_ips, "192.168.0.#{n}"
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
test 'can be represented in a human readable form' do
|
|
34
|
+
assert_includes whitelist.to_s, '127.0.0.0/127.255.255.255, ::1'
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
private
|
|
38
|
+
|
|
39
|
+
def whitelist(*args)
|
|
40
|
+
Whitelist.new(*args)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: web-console
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Charlie Somerville
|
|
@@ -11,34 +11,34 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date:
|
|
14
|
+
date: 2015-02-28 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: railties
|
|
18
18
|
requirement: !ruby/object:Gem::Requirement
|
|
19
19
|
requirements:
|
|
20
|
-
- - "
|
|
20
|
+
- - ">="
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
22
|
version: '4.0'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
|
-
- - "
|
|
27
|
+
- - ">="
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
29
|
version: '4.0'
|
|
30
30
|
- !ruby/object:Gem::Dependency
|
|
31
31
|
name: activemodel
|
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
|
33
33
|
requirements:
|
|
34
|
-
- - "
|
|
34
|
+
- - ">="
|
|
35
35
|
- !ruby/object:Gem::Version
|
|
36
36
|
version: '4.0'
|
|
37
37
|
type: :runtime
|
|
38
38
|
prerelease: false
|
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
40
|
requirements:
|
|
41
|
-
- - "
|
|
41
|
+
- - ">="
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
43
|
version: '4.0'
|
|
44
44
|
- !ruby/object:Gem::Dependency
|
|
@@ -79,32 +79,33 @@ dependencies:
|
|
|
79
79
|
name: actionmailer
|
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
|
81
81
|
requirements:
|
|
82
|
-
- - "
|
|
82
|
+
- - ">="
|
|
83
83
|
- !ruby/object:Gem::Version
|
|
84
84
|
version: '4.0'
|
|
85
85
|
type: :development
|
|
86
86
|
prerelease: false
|
|
87
87
|
version_requirements: !ruby/object:Gem::Requirement
|
|
88
88
|
requirements:
|
|
89
|
-
- - "
|
|
89
|
+
- - ">="
|
|
90
90
|
- !ruby/object:Gem::Version
|
|
91
91
|
version: '4.0'
|
|
92
92
|
- !ruby/object:Gem::Dependency
|
|
93
93
|
name: activerecord
|
|
94
94
|
requirement: !ruby/object:Gem::Requirement
|
|
95
95
|
requirements:
|
|
96
|
-
- - "
|
|
96
|
+
- - ">="
|
|
97
97
|
- !ruby/object:Gem::Version
|
|
98
98
|
version: '4.0'
|
|
99
99
|
type: :development
|
|
100
100
|
prerelease: false
|
|
101
101
|
version_requirements: !ruby/object:Gem::Requirement
|
|
102
102
|
requirements:
|
|
103
|
-
- - "
|
|
103
|
+
- - ">="
|
|
104
104
|
- !ruby/object:Gem::Version
|
|
105
105
|
version: '4.0'
|
|
106
106
|
description:
|
|
107
107
|
email:
|
|
108
|
+
- charlie@charliesomerville.com
|
|
108
109
|
- gsamokovarov@gmail.com
|
|
109
110
|
- guilleiguaran@gmail.com
|
|
110
111
|
- daoduyducduong@gmail.com
|
|
@@ -115,44 +116,33 @@ files:
|
|
|
115
116
|
- MIT-LICENSE
|
|
116
117
|
- README.markdown
|
|
117
118
|
- Rakefile
|
|
118
|
-
- lib/action_dispatch/debug_exceptions.rb
|
|
119
|
-
- lib/action_dispatch/exception_wrapper.rb
|
|
120
|
-
- lib/action_dispatch/templates/rescues/_request_and_response.html.erb
|
|
121
|
-
- lib/action_dispatch/templates/rescues/_request_and_response.text.erb
|
|
122
|
-
- lib/action_dispatch/templates/rescues/_source.erb
|
|
123
|
-
- lib/action_dispatch/templates/rescues/_trace.html.erb
|
|
124
|
-
- lib/action_dispatch/templates/rescues/_trace.text.erb
|
|
125
|
-
- lib/action_dispatch/templates/rescues/_web_console.html.erb
|
|
126
|
-
- lib/action_dispatch/templates/rescues/diagnostics.html.erb
|
|
127
|
-
- lib/action_dispatch/templates/rescues/diagnostics.text.erb
|
|
128
|
-
- lib/action_dispatch/templates/rescues/layout.erb
|
|
129
|
-
- lib/action_dispatch/templates/rescues/missing_template.html.erb
|
|
130
|
-
- lib/action_dispatch/templates/rescues/missing_template.text.erb
|
|
131
|
-
- lib/action_dispatch/templates/rescues/routing_error.html.erb
|
|
132
|
-
- lib/action_dispatch/templates/rescues/routing_error.text.erb
|
|
133
|
-
- lib/action_dispatch/templates/rescues/template_error.html.erb
|
|
134
|
-
- lib/action_dispatch/templates/rescues/template_error.text.erb
|
|
135
|
-
- lib/action_dispatch/templates/rescues/unknown_action.html.erb
|
|
136
|
-
- lib/action_dispatch/templates/rescues/unknown_action.text.erb
|
|
137
|
-
- lib/action_dispatch/templates/routes/_route.html.erb
|
|
138
|
-
- lib/action_dispatch/templates/routes/_table.html.erb
|
|
139
|
-
- lib/assets/javascripts/web-console.js
|
|
140
|
-
- lib/assets/javascripts/web_console.js
|
|
141
119
|
- lib/web-console.rb
|
|
142
120
|
- lib/web_console.rb
|
|
143
|
-
- lib/web_console/
|
|
144
|
-
- lib/web_console/
|
|
145
|
-
- lib/web_console/
|
|
146
|
-
- lib/web_console/
|
|
147
|
-
- lib/web_console/
|
|
148
|
-
- lib/web_console/
|
|
149
|
-
- lib/web_console/
|
|
150
|
-
- lib/web_console/
|
|
151
|
-
- lib/web_console/
|
|
121
|
+
- lib/web_console/errors.rb
|
|
122
|
+
- lib/web_console/evaluator.rb
|
|
123
|
+
- lib/web_console/helper.rb
|
|
124
|
+
- lib/web_console/integration.rb
|
|
125
|
+
- lib/web_console/integration/cruby.rb
|
|
126
|
+
- lib/web_console/integration/jruby.rb
|
|
127
|
+
- lib/web_console/integration/rubinius.rb
|
|
128
|
+
- lib/web_console/middleware.rb
|
|
129
|
+
- lib/web_console/railtie.rb
|
|
130
|
+
- lib/web_console/request.rb
|
|
131
|
+
- lib/web_console/session.rb
|
|
132
|
+
- lib/web_console/template.rb
|
|
133
|
+
- lib/web_console/templates/_inner_console_markup.html
|
|
134
|
+
- lib/web_console/templates/_markup.html
|
|
135
|
+
- lib/web_console/templates/_prompt_box_markup.html
|
|
136
|
+
- lib/web_console/templates/console.js
|
|
137
|
+
- lib/web_console/templates/error_page.js
|
|
138
|
+
- lib/web_console/templates/index.html
|
|
139
|
+
- lib/web_console/templates/layouts/inlined_string.erb
|
|
140
|
+
- lib/web_console/templates/layouts/javascript.erb
|
|
141
|
+
- lib/web_console/templates/main.js
|
|
142
|
+
- lib/web_console/templates/style.css
|
|
152
143
|
- lib/web_console/version.rb
|
|
153
|
-
- lib/web_console/
|
|
154
|
-
-
|
|
155
|
-
- test/controllers/tests_controller_test.rb
|
|
144
|
+
- lib/web_console/whiny_request.rb
|
|
145
|
+
- lib/web_console/whitelist.rb
|
|
156
146
|
- test/dummy/README.rdoc
|
|
157
147
|
- test/dummy/Rakefile
|
|
158
148
|
- test/dummy/app/assets/javascripts/application.js
|
|
@@ -240,11 +230,22 @@ files:
|
|
|
240
230
|
- test/dummy/tmp/cache/assets/test/sprockets/d982412def520c434e2240eae6d29cf2
|
|
241
231
|
- test/dummy/tmp/cache/assets/test/sprockets/df048a8b0897b9c04acdf59c8f95b18f
|
|
242
232
|
- test/dummy/tmp/cache/assets/test/sprockets/e6d6b8bde546349764be7b44ffcf5807
|
|
233
|
+
- test/support/scenarios/bad_custom_error_scenario.rb
|
|
234
|
+
- test/support/scenarios/basic_nested_scenario.rb
|
|
235
|
+
- test/support/scenarios/custom_error_scenario.rb
|
|
236
|
+
- test/support/scenarios/eval_nested_scenario.rb
|
|
237
|
+
- test/support/scenarios/flat_scenario.rb
|
|
238
|
+
- test/support/scenarios/reraised_scenario.rb
|
|
243
239
|
- test/test_helper.rb
|
|
244
|
-
- test/web_console/
|
|
245
|
-
- test/web_console/
|
|
246
|
-
- test/web_console/
|
|
247
|
-
- test/web_console/
|
|
240
|
+
- test/web_console/evaluator_test.rb
|
|
241
|
+
- test/web_console/helper_test.rb
|
|
242
|
+
- test/web_console/integration_test.rb
|
|
243
|
+
- test/web_console/middleware_test.rb
|
|
244
|
+
- test/web_console/railtie_test.rb
|
|
245
|
+
- test/web_console/request_test.rb
|
|
246
|
+
- test/web_console/session_test.rb
|
|
247
|
+
- test/web_console/whiny_request_test.rb
|
|
248
|
+
- test/web_console/whitelist_test.rb
|
|
248
249
|
homepage: https://github.com/rails/web-console
|
|
249
250
|
licenses:
|
|
250
251
|
- MIT
|
|
@@ -268,10 +269,8 @@ rubyforge_project:
|
|
|
268
269
|
rubygems_version: 2.2.2
|
|
269
270
|
signing_key:
|
|
270
271
|
specification_version: 4
|
|
271
|
-
summary: A
|
|
272
|
+
summary: A debugging tool for your Ruby on Rails applications.
|
|
272
273
|
test_files:
|
|
273
|
-
- test/action_pack/exception_wrapper_test.rb
|
|
274
|
-
- test/controllers/tests_controller_test.rb
|
|
275
274
|
- test/dummy/app/assets/javascripts/application.js
|
|
276
275
|
- test/dummy/app/assets/stylesheets/application.css
|
|
277
276
|
- test/dummy/app/controllers/application_controller.rb
|
|
@@ -359,8 +358,19 @@ test_files:
|
|
|
359
358
|
- test/dummy/tmp/cache/assets/test/sprockets/d982412def520c434e2240eae6d29cf2
|
|
360
359
|
- test/dummy/tmp/cache/assets/test/sprockets/df048a8b0897b9c04acdf59c8f95b18f
|
|
361
360
|
- test/dummy/tmp/cache/assets/test/sprockets/e6d6b8bde546349764be7b44ffcf5807
|
|
361
|
+
- test/support/scenarios/bad_custom_error_scenario.rb
|
|
362
|
+
- test/support/scenarios/basic_nested_scenario.rb
|
|
363
|
+
- test/support/scenarios/custom_error_scenario.rb
|
|
364
|
+
- test/support/scenarios/eval_nested_scenario.rb
|
|
365
|
+
- test/support/scenarios/flat_scenario.rb
|
|
366
|
+
- test/support/scenarios/reraised_scenario.rb
|
|
362
367
|
- test/test_helper.rb
|
|
363
|
-
- test/web_console/
|
|
364
|
-
- test/web_console/
|
|
365
|
-
- test/web_console/
|
|
366
|
-
- test/web_console/
|
|
368
|
+
- test/web_console/evaluator_test.rb
|
|
369
|
+
- test/web_console/helper_test.rb
|
|
370
|
+
- test/web_console/integration_test.rb
|
|
371
|
+
- test/web_console/middleware_test.rb
|
|
372
|
+
- test/web_console/railtie_test.rb
|
|
373
|
+
- test/web_console/request_test.rb
|
|
374
|
+
- test/web_console/session_test.rb
|
|
375
|
+
- test/web_console/whiny_request_test.rb
|
|
376
|
+
- test/web_console/whitelist_test.rb
|