Class: DefMastership::Definition

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/defmastership/definition.rb

Overview

DefMastership definition: contains all data of a definition

Instance Method Summary collapse

Constructor Details

#initialize(match) ⇒ Definition

Returns a new instance of Definition.



55
56
57
58
59
60
# File 'lib/defmastership/definition.rb', line 55

def initialize(match)
  @data = DefinitionData.new(
    *BUILD_FROM_MATCH.transform_values { |lamb| lamb.call(match) }
       .fetch_values(*DefinitionData.members)
  )
end

Instance Method Details

#<<(new_line) ⇒ Object



62
63
64
65
# File 'lib/defmastership/definition.rb', line 62

def <<(new_line)
  lines << new_line
  self
end

#add_eref(refname, extrefs) ⇒ Object



79
80
81
# File 'lib/defmastership/definition.rb', line 79

def add_eref(refname, extrefs)
  eref[refname] = extrefs.strip.split(/\s*,\s*/)
end

#add_iref(ref) ⇒ Object



83
84
85
# File 'lib/defmastership/definition.rb', line 83

def add_iref(ref)
  iref << ref
end

#set_attribute(key, value) ⇒ Object



87
88
89
# File 'lib/defmastership/definition.rb', line 87

def set_attribute(key, value)
  attributes[key] = value
end

#sha256_shortObject



71
72
73
# File 'lib/defmastership/definition.rb', line 71

def sha256_short
  "~#{Digest::SHA2.hexdigest(value).chars.last(8).join}"
end

#valueObject



67
68
69
# File 'lib/defmastership/definition.rb', line 67

def value
  lines.join("\n")
end

#wrong_explicit_checksumObject



75
76
77
# File 'lib/defmastership/definition.rb', line 75

def wrong_explicit_checksum
  explicit_checksum unless explicit_checksum.eql?(sha256_short)
end