Module: WebSandboxConsole

Extended by:
Common, SafeRuby
Defined in:
lib/web_sandbox_console.rb,
lib/web_sandbox_console/common.rb,
lib/web_sandbox_console/engine.rb,
lib/web_sandbox_console/sandbox.rb,
lib/web_sandbox_console/version.rb,
lib/web_sandbox_console/safe_ruby.rb,
lib/web_sandbox_console/view_file.rb,
lib/web_sandbox_console/configuration.rb,
lib/web_sandbox_console/sandbox_error.rb,
lib/web_sandbox_console/view_file_error.rb,
app/helpers/web_sandbox_console/home_helper.rb,
app/models/web_sandbox_console/application_record.rb,
app/helpers/web_sandbox_console/application_helper.rb,
app/mailers/web_sandbox_console/application_mailer.rb,
app/controllers/web_sandbox_console/home_controller.rb,
app/controllers/web_sandbox_console/application_controller.rb,
app/controllers/web_sandbox_console/authorization_controller.rb

Defined Under Namespace

Modules: ApplicationHelper, Common, HomeHelper, SafeRuby Classes: ApplicationController, ApplicationMailer, ApplicationRecord, AuthorizationController, Engine, HomeController, Sandbox, SandboxError, ViewFile, ViewFileError

Constant Summary collapse

VERSION =
'0.3.0'
INSTANT_METOD_BUILT_IN_BLACKLIST =

内置 实例方法 黑名单

{
  Kernel: %i(system exec `),
  File: %i(chmod chown)
}
CLASS_METHOD_BUILT_IN_BLACKLIST =

内置 类方法 黑名单

{
  Kernel: %i(system exec `),
  File: %i(chmod chown new open delete read write),
  Dir: %i(new delete mkdir)
}
@@mount_engine_route_path =

默认 引擎路由位置

'/web_sandbox_console'
@@only_view_log_file =

默认 开启仅可查看日志

true

Class Method Summary collapse

Methods included from Common

log_p, log_path

Methods included from SafeRuby

init_safe_env, merge_method_hash, sanitize_class_methods, sanitize_constants, sanitize_instance_methods

Class Method Details

.indifferent_access_deal(mattr_arr) ⇒ Object

无差别hash 处理



48
49
50
51
52
53
54
# File 'lib/web_sandbox_console/configuration.rb', line 48

def self.indifferent_access_deal(mattr_arr)
  mattr_arr.each do |mattr|
    current_hash = send(mattr)
    next unless current_hash.is_a?(Hash)
    send("#{mattr}=", current_hash.with_indifferent_access)
  end
end

.setup {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



42
43
44
45
# File 'lib/web_sandbox_console/configuration.rb', line 42

def self.setup
  yield self
  indifferent_access_deal(%w(http_basic_auth))
end