Class: ClaudeAgentSDK::PermissionUpdate

Inherits:
Object
  • Object
show all
Defined in:
lib/claude_agent_sdk/types.rb

Overview

Permission update configuration

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, rules: nil, behavior: nil, mode: nil, directories: nil, destination: nil) ⇒ PermissionUpdate

Returns a new instance of PermissionUpdate.



669
670
671
672
673
674
675
676
# File 'lib/claude_agent_sdk/types.rb', line 669

def initialize(type:, rules: nil, behavior: nil, mode: nil, directories: nil, destination: nil)
  @type = type
  @rules = rules
  @behavior = behavior
  @mode = mode
  @directories = directories
  @destination = destination
end

Instance Attribute Details

#behaviorObject

Returns the value of attribute behavior.



667
668
669
# File 'lib/claude_agent_sdk/types.rb', line 667

def behavior
  @behavior
end

#destinationObject

Returns the value of attribute destination.



667
668
669
# File 'lib/claude_agent_sdk/types.rb', line 667

def destination
  @destination
end

#directoriesObject

Returns the value of attribute directories.



667
668
669
# File 'lib/claude_agent_sdk/types.rb', line 667

def directories
  @directories
end

#modeObject

Returns the value of attribute mode.



667
668
669
# File 'lib/claude_agent_sdk/types.rb', line 667

def mode
  @mode
end

#rulesObject

Returns the value of attribute rules.



667
668
669
# File 'lib/claude_agent_sdk/types.rb', line 667

def rules
  @rules
end

#typeObject

Returns the value of attribute type.



667
668
669
# File 'lib/claude_agent_sdk/types.rb', line 667

def type
  @type
end

Instance Method Details

#to_hObject



678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
# File 'lib/claude_agent_sdk/types.rb', line 678

def to_h
  result = { type: @type }
  result[:destination] = @destination if @destination

  case @type
  when 'addRules', 'replaceRules', 'removeRules'
    if @rules
      result[:rules] = @rules.map do |rule|
        {
          toolName: rule.tool_name,
          ruleContent: rule.rule_content
        }
      end
    end
    result[:behavior] = @behavior if @behavior
  when 'setMode'
    result[:mode] = @mode if @mode
  when 'addDirectories', 'removeDirectories'
    result[:directories] = @directories if @directories
  end

  result
end