Module: Jeapie
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
-
#device ⇒ Object
Returns the value of attribute device.
-
#message ⇒ Object
Returns the value of attribute message.
-
#priority ⇒ Object
Returns the value of attribute priority.
-
#result ⇒ Object
readonly
Returns the value of attribute result.
-
#title ⇒ Object
Returns the value of attribute title.
-
#token ⇒ Object
app_token and user_key, you can get it from dashboard.jeapie.com.
-
#user ⇒ Object
app_token and user_key, you can get it from dashboard.jeapie.com.
Instance Method Summary collapse
- #clear ⇒ Object
- #configure {|_self| ... } ⇒ Object
- #errors ⇒ Object
- #keys ⇒ Object
-
#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:”.
- #notify!(opts = {message:''}) ⇒ Object
-
#parameters ⇒ Object
(also: #params)
available parameters and his values.
Instance Attribute Details
#device ⇒ Object
Returns the value of attribute device.
11 12 13 |
# File 'lib/jeapie.rb', line 11 def device @device end |
#message ⇒ Object
Returns the value of attribute message.
11 12 13 |
# File 'lib/jeapie.rb', line 11 def @message end |
#priority ⇒ Object
Returns the value of attribute priority.
11 12 13 |
# File 'lib/jeapie.rb', line 11 def priority @priority end |
#result ⇒ Object (readonly)
Returns the value of attribute result.
12 13 14 |
# File 'lib/jeapie.rb', line 12 def result @result end |
#title ⇒ Object
Returns the value of attribute title.
11 12 13 |
# File 'lib/jeapie.rb', line 11 def title @title end |
#token ⇒ Object
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 |
#user ⇒ Object
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
#clear ⇒ Object
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
20 21 22 23 |
# File 'lib/jeapie.rb', line 20 def configure yield self parameters end |
#errors ⇒ Object
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 |
#keys ⇒ Object
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:”
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
74 75 76 77 |
# File 'lib/jeapie.rb', line 74 def notify!(opts={message:''}) raise DeliverException, errors unless notify(opts) true end |
#parameters ⇒ Object 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 |