class FirebaseCloudMessenger::FirebaseObject

Attributes

fields[R]

Public Class Methods

new(data, fields) click to toggle source
# File lib/firebase_cloud_messenger/firebase_object.rb, line 3
def initialize(data, fields)
  data = data.dup
  @fields = fields

  fields.each do |field|
    send(:"#{field}=", data.delete(field))
  end

  if data.any?
    raise ArgumentError, "Keys must be one of #{fields.inspect}"
  end
end

Public Instance Methods

to_h() click to toggle source
# File lib/firebase_cloud_messenger/firebase_object.rb, line 16
def to_h
  fields.each_with_object({}) do |field, object_hash|
    val = send(field)
    next if val.nil?
    val = val.to_h if val.is_a?(FirebaseObject)

    object_hash[field] = val
  end
end