Class: Iriq::Observation

Inherits:
Object
  • Object
show all
Defined in:
lib/iriq/observation.rb

Overview

The result of Corpus#observe. Lightweight value object — heavy work (explanation, normalization) is deferred until you ask.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(corpus:, identifier:, cluster:) ⇒ Observation

Returns a new instance of Observation.



7
8
9
10
11
# File 'lib/iriq/observation.rb', line 7

def initialize(corpus:, identifier:, cluster:)
  @corpus     = corpus
  @identifier = identifier
  @cluster    = cluster
end

Instance Attribute Details

#clusterObject (readonly)

Returns the value of attribute cluster.



5
6
7
# File 'lib/iriq/observation.rb', line 5

def cluster
  @cluster
end

#identifierObject (readonly)

Returns the value of attribute identifier.



5
6
7
# File 'lib/iriq/observation.rb', line 5

def identifier
  @identifier
end

Instance Method Details

#explanationObject



17
18
19
# File 'lib/iriq/observation.rb', line 17

def explanation
  @explanation ||= @corpus.explain(@identifier)
end

#fingerprintObject



13
14
15
# File 'lib/iriq/observation.rb', line 13

def fingerprint
  @fingerprint ||= Normalizer.normalize_identifier(@identifier)
end

#normalizeObject



21
22
23
# File 'lib/iriq/observation.rb', line 21

def normalize
  @corpus.normalize(@identifier)
end