Class: Ask::Rails::Harness::EnvironmentPermissions

Inherits:
Object
  • Object
show all
Defined in:
lib/ask/rails/harness/environment_permissions.rb

Overview

Per-environment permission rules for agent tool access.

Configure within Ask::Rails::Harness.configure block:

Ask::Rails::Harness.configure do |config|
config.environment :production do |env|
  env.mode = :read_only
  env.allowed_commands = [/^rails routes/, /^rails log/]
  env.denied_commands = [/rm/, /dropdb/]
end

config.environment :development do |env|
  env.mode = :full_access
end
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeEnvironmentPermissions

Returns a new instance of EnvironmentPermissions.



33
34
35
36
37
# File 'lib/ask/rails/harness/environment_permissions.rb', line 33

def initialize
  @mode = nil
  @allowed_commands = nil
  @denied_commands = nil
end

Instance Attribute Details

#allowed_commandsArray<Regexp>?

Returns Allowed command patterns for RunCommand.

Returns:

  • (Array<Regexp>, nil)

    Allowed command patterns for RunCommand



28
29
30
# File 'lib/ask/rails/harness/environment_permissions.rb', line 28

def allowed_commands
  @allowed_commands
end

#denied_commandsArray<Regexp>?

Returns Denied command patterns for RunCommand (takes precedence).

Returns:

  • (Array<Regexp>, nil)

    Denied command patterns for RunCommand (takes precedence)



31
32
33
# File 'lib/ask/rails/harness/environment_permissions.rb', line 31

def denied_commands
  @denied_commands
end

#modeSymbol?

Returns Access mode for ask-agent's Permissions extension (:full_access, :read_only, :ask_before_changes).

Returns:

  • (Symbol, nil)

    Access mode for ask-agent's Permissions extension (:full_access, :read_only, :ask_before_changes)



25
26
27
# File 'lib/ask/rails/harness/environment_permissions.rb', line 25

def mode
  @mode
end