Class: Ibex::TableArtifact::Document

Inherits:
Object
  • Object
show all
Defined in:
lib/ibex/table_artifact/document.rb,
sig/ibex/table_artifact/document.rbs

Overview

An immutable, validated table artifact document.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Document

Returns a new instance of Document.

RBS:

  • (Hash[String, json_value] data) -> void

Parameters:

  • data (Hash[String, json_value])


13
14
15
16
# File 'lib/ibex/table_artifact/document.rb', line 13

def initialize(data)
  Validator.validate!(data)
  @data = Serializer.deep_freeze(data)
end

Instance Attribute Details

#dataHash[String, json_value] (readonly)

RBS:

  • type json_value = String | Integer | Float | bool | nil | Array[json_value] | Hash[String, json_value]

Returns:

  • (Hash[String, json_value])


10
11
12
# File 'lib/ibex/table_artifact/document.rb', line 10

def data
  @data
end

Instance Method Details

#costHash[String, json_value]

RBS:

  • () -> Hash[String, json_value]

Returns:

  • (Hash[String, json_value])


34
35
36
# File 'lib/ibex/table_artifact/document.rb', line 34

def cost
  @data.fetch("cost") #: Hash[String, json_value]
end

#dumpString

RBS:

  • () -> String

Returns:

  • (String)


19
20
21
# File 'lib/ibex/table_artifact/document.rb', line 19

def dump
  Serializer.dump(@data)
end

#identityHash[String, String]

RBS:

  • () -> Hash[String, String]

Returns:

  • (Hash[String, String])


29
30
31
# File 'lib/ibex/table_artifact/document.rb', line 29

def identity
  @data.fetch("identity") #: Hash[String, String]
end

#payloadHash[String, json_value]

RBS:

  • () -> Hash[String, json_value]

Returns:

  • (Hash[String, json_value])


24
25
26
# File 'lib/ibex/table_artifact/document.rb', line 24

def payload
  @data.fetch("payload") #: Hash[String, json_value]
end