class Firepush::MessageType::Builder

Attributes

_args[R]

Public Class Methods

build(args) click to toggle source

@param args [Hash] @option args [Hash] :notification @option args [Hash] :data

# File lib/firepush/message_type/builder.rb, line 12
def self.build(args)
  new(args).build
end

Private Class Methods

new(args) click to toggle source

@private @see .build

# File lib/firepush/message_type/builder.rb, line 18
def initialize(args)
  @_args = args
end

Public Instance Methods

build() click to toggle source

@return [Firepush::MessageType::Base]

# File lib/firepush/message_type/builder.rb, line 24
def build
  case
  when notification?
    Notification.new(_args.fetch(:notification))
  when data?
    Data.new(_args.fetch(:data))
  end
end

Private Instance Methods

data?() click to toggle source

@private @return [Boolean]

# File lib/firepush/message_type/builder.rb, line 39
def data?
  _args.key?(:data)
end
notification?() click to toggle source

@private @return [Boolean]

# File lib/firepush/message_type/builder.rb, line 45
def notification?
  _args.key?(:notification)
end