Class: Instapush::Application

Inherits:
Object
  • Object
show all
Defined in:
lib/instapush/application.rb

Instance Method Summary collapse

Constructor Details

#initialize(app_id, app_secret) ⇒ Application

Returns a new instance of Application.



7
8
9
10
11
# File 'lib/instapush/application.rb', line 7

def initialize(app_id, app_secret)
  @app_id = app_id
  @app_secret = app_secret
  @api_url = 'http://api.instapush.im/post'
end

Instance Method Details

#push(event) ⇒ Object

Raises:

  • (ArgumentError)


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/instapush/application.rb', line 13

def push(event)
  raise(ArgumentError, "event must be an Instapush::Event") unless event.instance_of? Event

  data = { :event => event.name, :trackers => event.tracker }

  uri = URI.parse(@api_url)
  http = Net::HTTP.new(uri.host, uri.port)
  request = Net::HTTP::Post.new(uri.request_uri)
  request.body= data.to_json
  request.content_type = 'application/json'
  request['X-INSTAPUSH-APPID'] = @app_id
  request['X-INSTAPUSH-APPSECRET'] = @app_secret

  http.request(request)
end