lumi-api/app/models/webpush_payload.rb

21 lines
574 B
Ruby
Raw Permalink Normal View History

2019-08-03 21:44:28 +00:00
# frozen_string_literal: true
# El payload que se envía en la notificación
#
# @param :subject [String] El título de la notificación
# @param :message [String] El cuerpo de la notificación
# @param :endpoint [String] La URL a visitar al abrir la notificación
WebpushPayload = Struct.new(:subject, :message, :endpoint,
keyword_init: true) do
# Convertir el payload a JSON para poder enviarlo
#
# @return String
def to_json(opts = nil)
to_h.to_json(opts)
end
def self.from_json(string)
new(JSON.parse(string))
end
end