cindy 0.1.0 → 0.1.1
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.
- data/README.md +54 -2
- data/cindy.gemspec +1 -1
- data/lib/cindy/client.rb +4 -4
- data/lib/cindy/version.rb +1 -1
- metadata +5 -5
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Cindy
|
2
2
|
|
3
|
-
|
3
|
+
A lightweight and flexible Ruby SDK for Sendy, a self-hosted email newsletter app.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -18,7 +18,59 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
|
21
|
+
The API of Cindy was basically implemented after Sendy's API doc.
|
22
|
+
|
23
|
+
### Client
|
24
|
+
|
25
|
+
To use Cindy, first create a client instance:
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
c = Cindy.new "http://sendy.co/demo/", "QywLZqDddP2P//d6ntekf+GY82nLrHke"
|
29
|
+
```
|
30
|
+
|
31
|
+
There're two parameters for initialize method:
|
32
|
+
|
33
|
+
1. API Endpoint - The URL for Sendy installation.
|
34
|
+
2. API Key - Optional, only for subscription status methods.
|
35
|
+
|
36
|
+
### Subscribe / Unsubscribe
|
37
|
+
|
38
|
+
Then you can subscribe or unsubscribe from a list:
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
> c.subscribe 1, "foo@bar.com", "Foo Bar"
|
42
|
+
=> true
|
43
|
+
> c.unsubscribe 1, "foo@bar.com"
|
44
|
+
=> false
|
45
|
+
```
|
46
|
+
|
47
|
+
The parameters are:
|
48
|
+
|
49
|
+
1. List ID - You can find them under list management page.
|
50
|
+
2. Email - Email to subscribe or unsubscribe from the list
|
51
|
+
3. Name - Optional, used only for subscribe
|
52
|
+
|
53
|
+
### Subscription Status
|
54
|
+
|
55
|
+
To check subscription status for Email address:
|
56
|
+
|
57
|
+
```ruby
|
58
|
+
> c.subscription_status 3, "foo@bar.com"
|
59
|
+
=> "Unsubscribed"
|
60
|
+
```
|
61
|
+
|
62
|
+
The parameters are list ID and Email.
|
63
|
+
|
64
|
+
### Active Subscriber Count
|
65
|
+
|
66
|
+
To get active subscriber count of a list:
|
67
|
+
|
68
|
+
```ruby
|
69
|
+
> c.active_subscriber_count 5
|
70
|
+
=> 1660
|
71
|
+
```
|
72
|
+
|
73
|
+
The only required parameter here is list ID.
|
22
74
|
|
23
75
|
## Contributing
|
24
76
|
|
data/cindy.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |gem|
|
|
8
8
|
gem.version = Cindy::VERSION
|
9
9
|
gem.authors = ["Richard Lee"]
|
10
10
|
gem.email = ["rl@polydice.com"]
|
11
|
-
gem.description = %q{A lightweight
|
11
|
+
gem.description = %q{A lightweight and flexible Ruby SDK for Sendy, a self-hosted email newsletter app.}
|
12
12
|
gem.summary = %q{Simple Ruby wrapper for Sendy API.}
|
13
13
|
gem.homepage = "https://github.com/polydice/cindy"
|
14
14
|
|
data/lib/cindy/client.rb
CHANGED
@@ -11,7 +11,7 @@ module Cindy
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def subscribe(list_id, email, name = nil)
|
14
|
-
response = connection.post "
|
14
|
+
response = connection.post "subscribe" do |req|
|
15
15
|
params = {list: list_id, email: email, boolean: true}
|
16
16
|
params[:name] = name if name
|
17
17
|
req.body = params
|
@@ -21,13 +21,13 @@ module Cindy
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def unsubscribe(list_id, email)
|
24
|
-
response = connection.post "
|
24
|
+
response = connection.post "unsubscribe", {list: list_id, email: email, boolean: true}
|
25
25
|
|
26
26
|
!!(response.body =~ /^1$/)
|
27
27
|
end
|
28
28
|
|
29
29
|
def subscription_status(list_id, email)
|
30
|
-
response = connection.post "
|
30
|
+
response = connection.post "api/subscribers/subscription-status.php" do |req|
|
31
31
|
req.body = {list_id: list_id, email: email, api_key: @key}
|
32
32
|
end
|
33
33
|
|
@@ -35,7 +35,7 @@ module Cindy
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def active_subscriber_count(list_id)
|
38
|
-
response = connection.post "
|
38
|
+
response = connection.post "api/subscribers/active-subscriber-count.php" do |req|
|
39
39
|
req.body = {list_id: list_id, api_key: @key}
|
40
40
|
end
|
41
41
|
|
data/lib/cindy/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cindy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -91,7 +91,7 @@ dependencies:
|
|
91
91
|
- - ~>
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: 2.12.0
|
94
|
-
description: A lightweight
|
94
|
+
description: A lightweight and flexible Ruby SDK for Sendy, a self-hosted email newsletter
|
95
95
|
app.
|
96
96
|
email:
|
97
97
|
- rl@polydice.com
|
@@ -126,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
126
|
version: '0'
|
127
127
|
segments:
|
128
128
|
- 0
|
129
|
-
hash:
|
129
|
+
hash: 458817470036857709
|
130
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
131
|
none: false
|
132
132
|
requirements:
|
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
135
|
version: '0'
|
136
136
|
segments:
|
137
137
|
- 0
|
138
|
-
hash:
|
138
|
+
hash: 458817470036857709
|
139
139
|
requirements: []
|
140
140
|
rubyforge_project:
|
141
141
|
rubygems_version: 1.8.23
|