class FirebaseCloudMessenger::Message

Constants

FIELDS

Attributes

errors[W]

Public Class Methods

new(data) click to toggle source
# File lib/firebase_cloud_messenger/message.rb, line 11
def initialize(data)
  super(data, FIELDS)
end

Public Instance Methods

errors() click to toggle source
# File lib/firebase_cloud_messenger/message.rb, line 25
def errors
  @errors ||= []
end
valid?(conn = nil, against_api: false) click to toggle source
# File lib/firebase_cloud_messenger/message.rb, line 15
def valid?(conn = nil, against_api: false)
  if against_api
    validate_against_api!(conn)
  else
    validate_against_schema
  end

  errors.none?
end

Private Instance Methods

validate_against_api!(conn) click to toggle source
# File lib/firebase_cloud_messenger/message.rb, line 31
def validate_against_api!(conn)
  begin
    FirebaseCloudMessenger.send(message: self, validate_only: true, conn: conn)
  rescue FirebaseCloudMessenger::Error => e
    if e.details
      self.errors += e.details
    else
      self.errors << e.parsed_response["error"]["message"]
    end
  end
end
validate_against_schema() click to toggle source
# File lib/firebase_cloud_messenger/message.rb, line 43
def validate_against_schema
  self.errors += JSON::Validator.fully_validate(FirebaseCloudMessenger::SCHEMA, to_h)
end