Class: Udb::CertNormativeRule

Inherits:
Object
  • Object
show all
Defined in:
lib/udb/cert_normative_rule.rb

Instance Method Summary collapse

Constructor Details

#initialize(data, db_obj) ⇒ CertNormativeRule

Returns a new instance of CertNormativeRule.

Parameters:

  • data (Hash<String, Object>)

    Data from YAML file

  • db_obj (DatabaseObject)

    Database object that defines normative rule (Extension, Instruction, CSR, or CSR field)

Raises:

  • (ArgumentError)


10
11
12
13
14
15
16
17
18
19
# File 'lib/udb/cert_normative_rule.rb', line 10

def initialize(data, db_obj)
  raise ArgumentError, "Need Hash but was passed a #{data.class}" unless data.is_a?(Hash)
  raise ArgumentError, "Need DatabaseObject but was passed a #{db_obj.class}" unless db_obj.is_a?(DatabaseObject)

  @data = data
  @db_obj = db_obj

  raise ArgumentError, "Missing certification normative rule description for #{db_obj.name} of kind #{db_obj.kind}" if description.nil?
  raise ArgumentError, "Missing certification normative rule ID for #{db_obj.name} of kind #{db_obj.kind}" if id.nil?
end

Instance Method Details

#descriptionString

Returns Description of normative rule (could be multiple lines).

Returns:

  • (String)

    Description of normative rule (could be multiple lines)



22
# File 'lib/udb/cert_normative_rule.rb', line 22

def description = @data["description"]

Returns List of certification point documentation links.

Returns:

  • (Array<DocLink>)

    List of certification point documentation links



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/udb/cert_normative_rule.rb', line 28

def doc_links
  return @doc_links unless @doc_links.nil?

  @doc_links = []
  @data["doc_links"]&.each do |dst|
    @doc_links << DocLink.new(dst, @db_obj)
  end

  raise "Missing doc_links for certification normative rule ID '#{id}' of kind #{@db_obj.kind}" if @doc_links.empty?

  @doc_links
end

#idString

Returns Unique ID of the normative rule.

Returns:

  • (String)

    Unique ID of the normative rule



25
# File 'lib/udb/cert_normative_rule.rb', line 25

def id = @data["id"]