Sha256: 5793d228cbf21c0d036787b7104b85c487eb7740a4334a62a18965bac13d712a

Contents?: true

Size: 1.31 KB

Versions: 6

Compression:

Stored size: 1.31 KB

Contents

# frozen_string_literal: true

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
                                  elsif SaferRailsConsole.sandbox_environment? &&
                                      SaferRailsConsole.config.sandbox_prompt
                                    SaferRailsConsole::Console.sandbox_user_prompt
                                  else
                                    SaferRailsConsole.sandbox_environment?
                                  end
            end

            super *args
          end
        end
      end
    end
  end
end

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

  ::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

6 entries across 6 versions & 1 rubygems

Version Path
safer_rails_console-0.11.0 lib/safer_rails_console/patches/railtie/sandbox.rb
safer_rails_console-0.10.0 lib/safer_rails_console/patches/railtie/sandbox.rb
safer_rails_console-0.9.0 lib/safer_rails_console/patches/railtie/sandbox.rb
safer_rails_console-0.8.0 lib/safer_rails_console/patches/railtie/sandbox.rb
safer_rails_console-0.7.0 lib/safer_rails_console/patches/railtie/sandbox.rb
safer_rails_console-0.6.0 lib/safer_rails_console/patches/railtie/sandbox.rb