class Etwin::Link::VersionedHammerfestLink
Versioned Hammerfest
link
Attributes
current[R]
old[R]
Public Class Methods
deserialize(raw)
click to toggle source
# File lib/etwin/link/versioned_hammerfest_link.rb, line 85 def deserialize(raw) raw_current = raw['current'] current = raw_current.nil? ? nil : HammerfestLink.deserialize(raw_current) new(current, []) end
from_json(json_str)
click to toggle source
# File lib/etwin/link/versioned_hammerfest_link.rb, line 80 def from_json(json_str) deserialize JSON.parse(json_str) end
new(current, old)
click to toggle source
# File lib/etwin/link/versioned_hammerfest_link.rb, line 20 def initialize(current, old) @current = T.let(current, T.nilable(HammerfestLink)) @old = T.let(old.freeze, T::Array[HammerfestLink]) freeze end
Public Instance Methods
==(other)
click to toggle source
# File lib/etwin/link/versioned_hammerfest_link.rb, line 27 def ==(other) case other when VersionedHammerfestLink @current == other.current && @old == other.old else false end end
as_json()
click to toggle source
# File lib/etwin/link/versioned_hammerfest_link.rb, line 48 def as_json { 'current' => @current.nil? ? nil : @current.as_json, 'old' => @old.map(&:as_json) } end
hash()
click to toggle source
# File lib/etwin/link/versioned_hammerfest_link.rb, line 37 def hash [@current, @old].hash end
inspect()
click to toggle source
# File lib/etwin/link/versioned_hammerfest_link.rb, line 56 def inspect PP.singleline_pp(self, String.new) end
pretty_print(pp)
click to toggle source
# File lib/etwin/link/versioned_hammerfest_link.rb, line 61 def pretty_print(pp) # rubocop:disable Metrics/MethodLength pp.group(0, "#{self.class.name}(", ')') do pp.nest 1 do pp.breakable '' pp.text 'current=' pp.pp @current pp.text ',' pp.breakable '' pp.text 'old=' pp.pp @old end pp.breakable '' end end
to_json(opts = nil)
click to toggle source
# File lib/etwin/link/versioned_hammerfest_link.rb, line 43 def to_json(opts = nil) JSON.generate(as_json, opts) end