class Etwin::Hammerfest::ShortHammerfestUser

Hammerfest user reference with username

Attributes

id[R]
server[R]
username[R]

Public Class Methods

deserialize(raw) click to toggle source
# File lib/etwin/hammerfest/short_hammerfest_user.rb, line 94
def deserialize(raw)
  server = HammerfestServer.deserialize(raw['server'])
  id = HammerfestUserId.new(raw['id'])
  username = HammerfestUsername.new(raw['username'])
  new(server, id, username)
end
from_json(json_str) click to toggle source
# File lib/etwin/hammerfest/short_hammerfest_user.rb, line 89
def from_json(json_str)
  deserialize JSON.parse(json_str)
end
new(server, id, username) click to toggle source
# File lib/etwin/hammerfest/short_hammerfest_user.rb, line 23
def initialize(server, id, username)
  @server = T.let(server, HammerfestServer)
  @id = T.let(id, HammerfestUserId)
  @username = T.let(username, HammerfestUsername)
  freeze
end

Public Instance Methods

==(other) click to toggle source
# File lib/etwin/hammerfest/short_hammerfest_user.rb, line 31
def ==(other)
  case other
  when ShortHammerfestUser
    @server == other.server && @id == other.id && @username == other.username
  else
    false
  end
end
as_json() click to toggle source
# File lib/etwin/hammerfest/short_hammerfest_user.rb, line 52
def as_json
  {
    'server' => @server.serialize,
    'id' => @id.as_json,
    'username' => @username.as_json
  }
end
hash() click to toggle source
# File lib/etwin/hammerfest/short_hammerfest_user.rb, line 41
def hash
  [@server, @id, @username].hash
end
inspect() click to toggle source
# File lib/etwin/hammerfest/short_hammerfest_user.rb, line 61
def inspect
  PP.singleline_pp(self, String.new)
end
pretty_print(pp) click to toggle source
# File lib/etwin/hammerfest/short_hammerfest_user.rb, line 66
def pretty_print(pp) # rubocop:disable Metrics/MethodLength
  pp.group(0, "#{self.class.name}(", ')') do
    pp.nest 1 do
      pp.breakable ''
      pp.text 'server='
      pp.pp @server
      pp.text ','
      pp.breakable ''
      pp.text 'id='
      pp.pp @id
      pp.text ','
      pp.breakable ''
      pp.text 'username='
      pp.pp @username
    end
    pp.breakable ''
  end
end
to_json(opts = nil) click to toggle source
# File lib/etwin/hammerfest/short_hammerfest_user.rb, line 47
def to_json(opts = nil)
  JSON.generate(as_json, opts)
end