Sha256: bb9d6bb5090152e3ee079afa42189beeedd26f54dc187f1da878c8de0172279b

Contents?: true

Size: 943 Bytes

Versions: 4

Compression:

Stored size: 943 Bytes

Contents

module JeraPush::Services
  class SendToEveryoneService < JeraPush::Services::BaseService
    def initialize(title:, body:)
      super
      @title = title
      @body = body
    end

    def call
      create_message
      send_android
      send_ios
      update_message

      @message
    end

    private

    def create_message
      @message = JeraPush::Message.create(title: @title, body: @body, kind: :everyone)
    end

    def send_android
      @response_android = @firebase.send_message_to_topic(message: @message, topic: JeraPush.send('topic_android'))
    end

    def send_ios
      @response_ios = @firebase.send_message_to_topic(message: @message, topic: JeraPush.send('topic_ios'))
    end

    def update_message
      @message.update(
        success_count: @response_android["success"] + @response_ios["success"],
        failure_count: @response_android["failure"] + @response_ios["failure"]
      )
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jera_push-2.1.4 lib/jera_push/services/send_to_everyone_service.rb
jera_push-2.1.3 lib/jera_push/services/send_to_everyone_service.rb
jera_push-2.1.2 lib/jera_push/services/send_to_everyone_service.rb
jera_push-2.0.0 lib/jera_push/services/send_to_everyone_service.rb