Class: Firepush::Client

Inherits:
Object
  • Object
show all
Includes:
HelperMethods
Defined in:
lib/firepush/client.rb

Defined Under Namespace

Classes: InvalidAttributes

Constant Summary collapse

BASE_URI =
"https://fcm.googleapis.com"
BASE_PATH =
"/v1/projects"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(access_token: "", project_id: "") ⇒ Client

Returns a new instance of Client.

Parameters:

  • :access_token (String)

    optional

  • :project_id (String)

    optional



21
22
23
24
# File 'lib/firepush/client.rb', line 21

def initialize(access_token: "", project_id: "")
  self.access_token = access_token
  self.project_id   = project_id
end

Instance Attribute Details

#access_tokenString

Returns:

  • (String)


14
15
16
# File 'lib/firepush/client.rb', line 14

def access_token
  @access_token
end

#messageString

Returns:

  • (String)


17
18
19
# File 'lib/firepush/client.rb', line 17

def message
  @message
end

#project_idString

Returns:

  • (String)


15
16
17
# File 'lib/firepush/client.rb', line 15

def project_id
  @project_id
end

Instance Method Details

#push(message = nil) ⇒ Net::HTTPResponse

TODO: Return useful response

Parameters:

  • message (Hash) (defaults to: nil)

    optional

Returns:

  • (Net::HTTPResponse)

Raises:



37
38
39
40
41
42
43
# File 'lib/firepush/client.rb', line 37

def push(message = nil)
  self.message = message unless message.nil?

  raise InvalidAttributes unless valid?

  http.post(path, self.message.to_json, headers)
end

#valid?Boolean

Returns:

  • (Boolean)


46
47
48
49
# File 'lib/firepush/client.rb', line 46

def valid?
  valid_str?(access_token) && valid_str?(project_id) &&
    !message.nil? && message.valid?
end