Sha256: aafe94f8132bbdfe6c0d5b5ff73e2f4b6606d68507c931d92498f57281eb712e
Contents?: true
Size: 893 Bytes
Versions: 3
Compression:
Stored size: 893 Bytes
Contents
class Agilibox::FCM::Request < Agilibox::Service URL = "https://fcm.googleapis.com/fcm/send" class << self attr_writer :api_key def api_key @api_key ||= ENV["FCM_API_KEY"] end end initialize_with :request_body attr_reader :response_json def call response_body = HTTParty.post(URL, :body => request_body.to_json, :headers => { "Content-Type" => "application/json", "Authorization" => "key=#{self.class.api_key}", }, ).body @response_json = JSON.parse(response_body).deep_symbolize_keys self end def ok? response_json[:success].positive? && response_json[:failure].zero? end def error? !ok? end def errors response_json[:results].map { |r| r[:error] }.compact end def invalid_token? errors.include?("NotRegistered") || errors.include?("InvalidRegistration") end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
agilibox-1.4.0 | app/libs/agilibox/fcm/request.rb |
agilibox-1.3.6 | app/libs/agilibox/fcm/request.rb |
agilibox-1.3.5 | app/libs/agilibox/fcm/request.rb |