prowl 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +56 -0
- data/lib/prowl.rb +19 -8
- data/prowl.gemspec +4 -4
- metadata +21 -33
- data/README +0 -54
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8bfa568e0d884adf20b06b97a99e075c2aa6c06e
|
4
|
+
data.tar.gz: 10cd71287c45518a2c353617a7395bd9c2306727
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 81b5c937ba9cee34330dfbbe915da1967781c9d520872f16bef839a161a5fdfcc4f15f8e5bb6af81dc5d7a9c229129cf6e6eed30126cda947cb17f2feb3e62d2
|
7
|
+
data.tar.gz: 9fbca6d04020d30cf1f88e8093222b912d5415d8560d63bcbd6bfa44471546bf384ee9dc9fc59c49c423026c17106a39097eac04fd06c43f1ef8bfce4366680a
|
data/README.md
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
# Prowl
|
2
|
+
|
3
|
+
Ruby wrapper for [Prowl](http://www.prowlapp.com/).
|
4
|
+
|
5
|
+
## About
|
6
|
+
|
7
|
+
Prowl rocks! It's a webapp and a iPhone app that works
|
8
|
+
together and lets you send push notifications via HTTP
|
9
|
+
to any iPhone that has the prowl app installed.
|
10
|
+
|
11
|
+
```` ruby
|
12
|
+
Prowl.add(
|
13
|
+
:apikey => "api key abc123def456",
|
14
|
+
:application => "World Saving Project Manager",
|
15
|
+
:event => "Canceled",
|
16
|
+
:description => "It sucked, so I canceled it. Sorry :("
|
17
|
+
)
|
18
|
+
````
|
19
|
+
|
20
|
+
The user has given you its API key. That lets you
|
21
|
+
send push notifications to the users iPhone, through
|
22
|
+
the Prowl iPhone app.
|
23
|
+
|
24
|
+
## Installation
|
25
|
+
|
26
|
+
gem install prowl
|
27
|
+
|
28
|
+
Code available [here](http://github.com/augustl/ruby-prowl/tree).
|
29
|
+
|
30
|
+
## Notice
|
31
|
+
|
32
|
+
`Prowl.send` has been renamed to `Prowl.add`.
|
33
|
+
|
34
|
+
## Usage
|
35
|
+
|
36
|
+
Four required parameters:
|
37
|
+
|
38
|
+
- *apikey* (String / Array< String >)
|
39
|
+
- *application* (String)
|
40
|
+
- *event* (String)
|
41
|
+
- *description* (String)
|
42
|
+
|
43
|
+
You can use `Prowl.add`, or create instances of Prowl manually.
|
44
|
+
|
45
|
+
```` ruby
|
46
|
+
Prowl.add(:apikey => "123abc", :application => "Foo", ...)
|
47
|
+
Prowl.verify("apikey")
|
48
|
+
|
49
|
+
p = Prowl.new(:apikey => "apikey123abc", :application => "FooApp")
|
50
|
+
p.valid?
|
51
|
+
p.add(:event => "It's valid", ...)
|
52
|
+
````
|
53
|
+
|
54
|
+
## Authors
|
55
|
+
|
56
|
+
- [August Lilleaas](http://august.lilleaas.net/).
|
data/lib/prowl.rb
CHANGED
@@ -8,13 +8,18 @@ class Prowl
|
|
8
8
|
class TooManyAPIKeys < RuntimeError; end
|
9
9
|
class PriorityOutOfRange < RuntimeError; end
|
10
10
|
|
11
|
-
API_URL = "https://
|
11
|
+
API_URL = "https://api.prowlapp.com/publicapi"
|
12
12
|
MAX_API_KEYS = 5
|
13
13
|
PRIORITY_RANGE = -2..2
|
14
14
|
|
15
15
|
def initialize(defaults = {})
|
16
16
|
@defaults = defaults
|
17
17
|
end
|
18
|
+
|
19
|
+
def set_proxy(addr, port)
|
20
|
+
@proxy_addr = addr
|
21
|
+
@proxy_port = port
|
22
|
+
end
|
18
23
|
|
19
24
|
def add(params = {})
|
20
25
|
perform("add", params)
|
@@ -62,15 +67,21 @@ class Prowl
|
|
62
67
|
|
63
68
|
# If there are multiple API Keys in an array, merge them into a comma-delimited string
|
64
69
|
if params[:apikey].is_a?(Array)
|
65
|
-
params[:apikey] = params[:apikey].
|
70
|
+
params[:apikey] = params[:apikey].join(",")
|
66
71
|
end
|
67
72
|
|
68
73
|
uri = URI.parse("#{API_URL}/#{action}")
|
69
|
-
|
70
|
-
|
71
|
-
http.verify_mode
|
72
|
-
|
73
|
-
|
74
|
+
|
75
|
+
proxy = Net::HTTP::Proxy(@proxy_addr, @proxy_port)
|
76
|
+
http = proxy.start(uri.host, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE)
|
77
|
+
|
78
|
+
if (action == 'add')
|
79
|
+
request = Net::HTTP::Post.new(uri.request_uri)
|
80
|
+
request.set_form_data params
|
81
|
+
else
|
82
|
+
request = Net::HTTP::Get.new(uri.request_uri + "?" + params.map {|k, v| "#{k}=#{CGI.escape(v.to_s)}"}.join("&"))
|
83
|
+
end
|
84
|
+
|
74
85
|
response = http.request(request)
|
75
86
|
return response.code.to_i
|
76
87
|
end
|
@@ -82,4 +93,4 @@ if __FILE__ == $0
|
|
82
93
|
|
83
94
|
p Prowl.add(:apikey => api_key, :application => "Fishes", :event => "silly", :description => "Awwawaw.", :priority => 1)
|
84
95
|
p Prowl.verify(api_key)
|
85
|
-
end
|
96
|
+
end
|
data/prowl.gemspec
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "prowl"
|
3
|
-
s.version = "0.1.
|
3
|
+
s.version = "0.1.4"
|
4
4
|
s.date = "2009-07-08"
|
5
5
|
s.authors = ["August Lilleaas"]
|
6
|
-
s.email = "
|
6
|
+
s.email = "august@augustl.com"
|
7
7
|
s.rubyforge_project = "prowl"
|
8
8
|
s.has_rdoc = true
|
9
9
|
s.summary = "Wrapprer for prowl, http://prowl.weks.net/."
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
"lib/prowl.rb",
|
13
13
|
"prowl.gemspec",
|
14
14
|
"Rakefile",
|
15
|
-
"README",
|
15
|
+
"README.md",
|
16
16
|
"test/prowl_test.rb"
|
17
17
|
]
|
18
|
-
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,59 +1,47 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: prowl
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- August Lilleaas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
date: 2009-07-08 00:00:00 +02:00
|
13
|
-
default_executable:
|
11
|
+
date: 2009-07-08 00:00:00.000000000 Z
|
14
12
|
dependencies: []
|
15
|
-
|
16
13
|
description:
|
17
|
-
email:
|
14
|
+
email: august@augustl.com
|
18
15
|
executables: []
|
19
|
-
|
20
16
|
extensions: []
|
21
|
-
|
22
17
|
extra_rdoc_files: []
|
23
|
-
|
24
|
-
|
18
|
+
files:
|
19
|
+
- README.md
|
20
|
+
- Rakefile
|
25
21
|
- lib/prowl.rb
|
26
22
|
- prowl.gemspec
|
27
|
-
- Rakefile
|
28
|
-
- README
|
29
23
|
- test/prowl_test.rb
|
30
|
-
has_rdoc: true
|
31
24
|
homepage: http://prowl.rubyforge.org/
|
32
25
|
licenses: []
|
33
|
-
|
26
|
+
metadata: {}
|
34
27
|
post_install_message:
|
35
28
|
rdoc_options: []
|
36
|
-
|
37
|
-
require_paths:
|
29
|
+
require_paths:
|
38
30
|
- lib
|
39
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
31
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
41
33
|
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version:
|
44
|
-
|
45
|
-
|
46
|
-
requirements:
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
47
38
|
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version:
|
50
|
-
version:
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
51
41
|
requirements: []
|
52
|
-
|
53
42
|
rubyforge_project: prowl
|
54
|
-
rubygems_version:
|
43
|
+
rubygems_version: 2.2.2
|
55
44
|
signing_key:
|
56
|
-
specification_version:
|
45
|
+
specification_version: 4
|
57
46
|
summary: Wrapprer for prowl, http://prowl.weks.net/.
|
58
47
|
test_files: []
|
59
|
-
|
data/README
DELETED
@@ -1,54 +0,0 @@
|
|
1
|
-
--~~ Prowl ~~--
|
2
|
-
|
3
|
-
Ruby wrapper for http://prowl.weks.net/.
|
4
|
-
Written by August Lilleaas (http://august.lilleaas.net/).
|
5
|
-
|
6
|
-
Note: `send` has been renamed to `add`.
|
7
|
-
|
8
|
-
|
9
|
-
--~~ Installation ~~--
|
10
|
-
|
11
|
-
gem install prowl
|
12
|
-
|
13
|
-
or
|
14
|
-
|
15
|
-
gem install augustl-prowl --source=http://gems.github.com/
|
16
|
-
|
17
|
-
Code available here: http://github.com/augustl/ruby-prowl/tree
|
18
|
-
|
19
|
-
--~~ About ~~--
|
20
|
-
|
21
|
-
Prowl rocks! It's a webapp and a iPhone app that works
|
22
|
-
together and lets you send push notifications via HTTP
|
23
|
-
to any iPhone that has the prowl app installed.
|
24
|
-
|
25
|
-
Prowl.add(
|
26
|
-
:apikey => "api key abc123def456",
|
27
|
-
:application => "World Saving Project Manager",
|
28
|
-
:event => "Canceled",
|
29
|
-
:description => "It sucked, so I canceled it. Sorry :("
|
30
|
-
)
|
31
|
-
|
32
|
-
The user has given you its API key. That lets you
|
33
|
-
send push notifications to the users iPhone, through
|
34
|
-
the Prowl iPhone app.
|
35
|
-
|
36
|
-
|
37
|
-
--~~ Usage ~~--
|
38
|
-
|
39
|
-
Four required parameters:
|
40
|
-
|
41
|
-
:apikey (string / array of strings)
|
42
|
-
:application (string)
|
43
|
-
:event (string)
|
44
|
-
:description (string)
|
45
|
-
|
46
|
-
You can use Prowl.add, or create instances of Prowl
|
47
|
-
manually.
|
48
|
-
|
49
|
-
Prowl.add(:apikey => "123abc", :application => "Foo", ...)
|
50
|
-
Prowl.verify("apikey")
|
51
|
-
|
52
|
-
p = Prowl.new(:apikey => "apikey123abc", :application => "FooApp")
|
53
|
-
p.valid?
|
54
|
-
p.add(:event => "It's valid", ...)
|