Class: FiberAudit::Runtime::Environment::Settings

Inherits:
Data
  • Object
show all
Defined in:
lib/fiber_audit/runtime/environment.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(protocol_version:, launch_id:, project_root:, output_directory:, policy:) ⇒ Settings

Returns a new instance of Settings.



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/fiber_audit/runtime/environment.rb', line 34

def initialize(protocol_version:, launch_id:, project_root:, output_directory:, policy:)
  unless protocol_version == PROTOCOL_VERSION
    raise RuntimeContractError, "runtime activation protocol must be #{PROTOCOL_VERSION}"
  end
  unless launch_id.is_a?(String) && launch_id.match?(Validation::UUID)
    raise RuntimeContractError, 'runtime launch_id must be a canonical lowercase UUID'
  end
  unless policy.is_a?(Policy)
    raise RuntimeContractError, 'runtime activation policy must be a FiberAudit::Runtime::Policy'
  end

  super(
    protocol_version: protocol_version,
    launch_id: launch_id.dup.freeze,
    project_root: Environment.normalize_directory(project_root, 'project_root'),
    output_directory: Environment.normalize_directory(output_directory, 'output_directory'),
    policy: policy
  )
end

Instance Attribute Details

#launch_idObject (readonly)

Returns the value of attribute launch_id

Returns:

  • (Object)

    the current value of launch_id



33
34
35
# File 'lib/fiber_audit/runtime/environment.rb', line 33

def launch_id
  @launch_id
end

#output_directoryObject (readonly)

Returns the value of attribute output_directory

Returns:

  • (Object)

    the current value of output_directory



33
34
35
# File 'lib/fiber_audit/runtime/environment.rb', line 33

def output_directory
  @output_directory
end

#policyObject (readonly)

Returns the value of attribute policy

Returns:

  • (Object)

    the current value of policy



33
34
35
# File 'lib/fiber_audit/runtime/environment.rb', line 33

def policy
  @policy
end

#project_rootObject (readonly)

Returns the value of attribute project_root

Returns:

  • (Object)

    the current value of project_root



33
34
35
# File 'lib/fiber_audit/runtime/environment.rb', line 33

def project_root
  @project_root
end

#protocol_versionObject (readonly)

Returns the value of attribute protocol_version

Returns:

  • (Object)

    the current value of protocol_version



33
34
35
# File 'lib/fiber_audit/runtime/environment.rb', line 33

def protocol_version
  @protocol_version
end