Module: Jeapie

Extended by:
Jeapie
Included in:
Jeapie
Defined in:
lib/jeapie.rb,
lib/jeapie/version.rb

Defined Under Namespace

Classes: DeliverException

Constant Summary collapse

API_URL =
'https://api.jeapie.com/v1/send/message.json'
PRIORITY_LOW =
-1
PRIORITY_MED =
0
PRIORITY_HIGH =
1
MESSAGE_MAX_LEN =
2000
VERSION =
'0.1.0'

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#deviceObject

Returns the value of attribute device.



11
12
13
# File 'lib/jeapie.rb', line 11

def device
  @device
end

#messageObject

Returns the value of attribute message.



11
12
13
# File 'lib/jeapie.rb', line 11

def message
  @message
end

#priorityObject

Returns the value of attribute priority.



11
12
13
# File 'lib/jeapie.rb', line 11

def priority
  @priority
end

#resultObject (readonly)

Returns the value of attribute result.



12
13
14
# File 'lib/jeapie.rb', line 12

def result
  @result
end

#titleObject

Returns the value of attribute title.



11
12
13
# File 'lib/jeapie.rb', line 11

def title
  @title
end

#tokenObject

app_token and user_key, you can get it from dashboard.jeapie.com



10
11
12
# File 'lib/jeapie.rb', line 10

def token
  @token
end

#userObject

app_token and user_key, you can get it from dashboard.jeapie.com



10
11
12
# File 'lib/jeapie.rb', line 10

def user
  @user
end

Instance Method Details

#clearObject



37
38
39
40
41
# File 'lib/jeapie.rb', line 37

def clear
  keys.each do |k|
    Jeapie.instance_variable_set("@#{k}", nil)
  end
end

#configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (Jeapie)

    the object that the method was called on



20
21
22
23
# File 'lib/jeapie.rb', line 20

def configure
  yield self
  parameters
end

#errorsObject



43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/jeapie.rb', line 43

def errors
  return "Params not valid: #{@params_errors}" unless @params_errors && @params_errors.empty?
  return false if result.nil?
  begin
  arr= JSON::parse(result.body)
  rescue JSON::ParserError
    return "Can't parse response: #{result.body}"
  end

  return false if arr['success']
  "code: #{result.code}, errors: #{arr['errors']}"
end

#keysObject



33
34
35
# File 'lib/jeapie.rb', line 33

def keys
  @keys||= [:token, :user, :message, :title, :device, :priority]
end

#notify(opts = {message:''}) ⇒ String

push a message to Jeapie example: notify message:‘Backup complete’ or: notify title:‘Backup complete’, message:‘Time elapsed 50s, size: 500Mb’, priority:-1, device:‘Nexus7’, user:”, token:”

Returns:

  • (String)

    the response from jeapie.com, in json.



60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/jeapie.rb', line 60

def notify(opts={message:''})
  data = params.merge(opts).select { |_, v| v != nil }
  return false unless params_errors(data).empty?
  url = URI.parse(API_URL)
  req = Net::HTTP::Post.new(url.path, {'User-Agent' => "Ruby jeapie gem: #{Jeapie::VERSION}"})
  req.set_form_data(data)

  res = Net::HTTP.new(url.host, url.port)
  res.use_ssl = true
  res.verify_mode = OpenSSL::SSL::VERIFY_PEER
  @result= res.start {|http| http.request(req) }
  errors ? false : true
end

#notify!(opts = {message:''}) ⇒ Object

Raises:



74
75
76
77
# File 'lib/jeapie.rb', line 74

def notify!(opts={message:''})
  raise DeliverException, errors unless notify(opts)
  true
end

#parametersObject Also known as: params

available parameters and his values



26
27
28
29
30
# File 'lib/jeapie.rb', line 26

def parameters
  h = {}
  keys.each { |k| h[k.to_sym] = Jeapie.instance_variable_get("@#{k}") }
  h
end