Sha256: 6a34a8495a96e42a1113ce477d077c562e14c3efdd8fa8de5356bc3655730126

Contents?: true

Size: 1.28 KB

Versions: 2

Compression:

Stored size: 1.28 KB

Contents

module SaferRailsConsole
  module Patches
    module Sandbox
      module Rails
        module Console
          def start(*args)
            options = args.last

            if options[:sandbox].nil?
              options[:sandbox] = if options[:'read-only']
                                    true
                                  elsif options[:writable]
                                    false
                                  else
                                    SaferRailsConsole.sandbox_environment? && SaferRailsConsole.config.sandbox_prompt ? SaferRailsConsole::Console.sandbox_user_prompt : SaferRailsConsole.sandbox_environment?
                                  end
            end

            super *args
          end
        end
      end
    end
  end
end

if SaferRailsConsole::RailsVersion.supported?
  if SaferRailsConsole::RailsVersion.five_one_or_above?
    require 'rails/commands/console/console_command'
  else
    require 'rails/commands/console'
  end

  ::Rails::Console.singleton_class.prepend(SaferRailsConsole::Patches::Sandbox::Rails::Console)
else
  raise "No sandbox patch for rails version '#{::Rails.version}' exists. "\
          'Please disable safer_rails_console, use a supported version of rails, or disable SaferRailsConsole.config.sandbox_environments.'
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
safer_rails_console-0.4.1 lib/safer_rails_console/patches/railtie/sandbox.rb
safer_rails_console-0.4.0 lib/safer_rails_console/patches/railtie/sandbox.rb