rails-web-console 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9fa19e8314b00a499b44bb23fb74a13f15b12487
4
- data.tar.gz: 38d099883bde682147bd355230bfaafcb00e62fb
3
+ metadata.gz: c329cfda8e600624144d9ec01945ee6581aed4bd
4
+ data.tar.gz: 7c4086adfe3931c4d429dd69d39ed1c4da86a290
5
5
  SHA512:
6
- metadata.gz: ca4bd951e2c8e4cdf64cf862d4890de72f4f029798916cc90fd04f134aeadb3255cf39c9893427cad7eff579541f2f49c72fa227d50dd88386bf684f2eeb9938
7
- data.tar.gz: 393ad26b00ee08029127091a8d6fc0066ffb3411cb63710d2c6fb9c0845e1aa35eca71d47ea5a84d0bf5370eb837a3787fc75432b12158f1ed44974511519857
6
+ metadata.gz: 21abd1e7fb7e0bc395245d1d66c8da1c487645ee5443a1ea5f71ccdc9d0d82072a444d709164fb0f220420c02b7a4b3de99b9602da3c8b0ed29313e6223ca59a
7
+ data.tar.gz: c6e85625b053d725b51ff3d31cc26f894b06eeb92b09609b76ce337dcefa2d72255bfb9cd94bc8a90a4dc2422b7628071505a13903e0f747141f7269ec9ac44a
@@ -11,16 +11,26 @@ module RailsWebConsole
11
11
  def index
12
12
  end
13
13
 
14
+ SCRIPT_LIMIT = defined?(::WEB_CONSOLE_SCRIPT_LIMIT) ? ::WEB_CONSOLE_SCRIPT_LIMIT : 1000
15
+ WARNING_LIMIT_MSG = "WARNING: stored script in session was limited to the first " +
16
+ "#{SCRIPT_LIMIT} chars to avoid issues with cookie overflow\n"
14
17
  def run
15
- session[:script] = params[:script]
18
+ # we limit up to 1k to avoid ActionDispatch::Cookies::CookieOverflow (4k) which we
19
+ # can't rescue since it happens in a middleware
20
+ script = params[:script]
21
+ # we allow users to ignore the limit if they are using another session storage mechanism
22
+ script = script[0...SCRIPT_LIMIT] unless defined?(::WEB_CONSOLE_IGNORE_SCRIPT_LIMIT)
23
+ session[:script] = script
16
24
  stdout_orig = $stdout
17
25
  $stdout = StringIO.new
18
26
  begin
27
+ puts WARNING_LIMIT_MSG if params[:script].size > SCRIPT_LIMIT &&
28
+ !defined?(::WEB_CONSOLE_IGNORE_SCRIPT_LIMIT)
19
29
  result_eval = eval params[:script], binding
20
30
  $stdout.rewind
21
31
  result = %Q{<div class="stdout">#{escape $stdout.read}</div>
22
32
  <div class="return">#{escape result_eval.inspect}</div>}
23
- rescue => e
33
+ rescue Exception => e
24
34
  result = e.to_s
25
35
  end
26
36
  $stdout = stdout_orig
@@ -1,3 +1,3 @@
1
1
  module RailsWebConsole
2
- VERSION = "0.3.2"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-web-console
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Rosenfeld Rosas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-04 00:00:00.000000000 Z
11
+ date: 2016-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties