newslettre 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -10,7 +10,8 @@ progress, scheduling etc.).
10
10
 
11
11
  ``` ruby
12
12
 
13
- gem install newslettre
13
+ gem install newslettre
14
+
14
15
  ```
15
16
 
16
17
  ## Usage
@@ -24,23 +25,23 @@ Right now it works like this…
24
25
 
25
26
  ``` ruby
26
27
 
27
- require 'newslettre'
28
+ require 'newslettre'
28
29
 
29
- client = Newslettre::Client.new "somebody@yourdomain.com", "reallygoodpassword"
30
+ client = Newslettre::Client.new "somebody@yourdomain.com", "reallygoodpassword"
30
31
 
31
- # Accessing newsletters
32
+ # Accessing newsletters
32
33
 
33
- client.newsletters.to_a # => [{ "name" => "webdev" }]
34
+ client.newsletters.to_a # => [{ "name" => "webdev" }]
34
35
 
35
- client.newsletters.get("webdev") # => { "name", "subject" => "Latest Web Development News", "html" => "<html>...</html>" }
36
+ client.newsletters.get("webdev") # => { "name", "subject" => "Latest Web Development News", "html" => "<html>...</html>" }
36
37
 
37
- client.newsletters.delete "webdev"
38
+ client.newsletters.delete "webdev"
38
39
 
39
- # Accessing recipients of a newsletter
40
+ # Accessing recipients of a newsletter
40
41
 
41
- client.newsletters.get("webdev").recipients.to_a # => [{ "list" => "web-developers" }]
42
+ client.newsletters.get("webdev").recipients.to_a # => [{ "list" => "web-developers" }]
42
43
 
43
- client.newsletters.get("webdev").recipients.delete "web-developers"
44
+ client.newsletters.get("webdev").recipients.delete "web-developers"
44
45
 
45
46
  ```
46
47
 
@@ -50,10 +51,26 @@ You can also use `#lists` and `#identities` as well as the nested emails in reci
50
51
 
51
52
  ``` ruby
52
53
 
53
- client.lists.get("web-developers").emails.delete "selective@hosted.com", "programmatic@failure.com"
54
+ client.lists.get("web-developers").emails.delete "selective@hosted.com", "programmatic@failure.com"
54
55
 
55
56
  ```
56
57
 
58
+ Last but not least, to schedule an already existing newsletter:
59
+
60
+ ``` ruby
61
+
62
+ client.newsletters.get("webdev").schedule! :at => Time.now
63
+
64
+ # to see when a newsletter will be delivered
65
+
66
+ client.newsletters.get("webdev").schedule # => Mon Sep 26 14:01:13 +0200 2011
67
+
68
+ # and to deschedule again
69
+
70
+ client.newsletters.get("webdev").deschedule!
71
+
72
+ ```
73
+
57
74
  ## Development
58
75
 
59
76
  though it is still far from complete, if you'd like to help out please
@@ -51,7 +51,9 @@ class Newslettre::Letter < Newslettre::APIModule
51
51
  end
52
52
 
53
53
  def list
54
- request 'list'
54
+ request('list').map do |n|
55
+ Object.new self, n["name"]
56
+ end
55
57
  end
56
58
 
57
59
  def add name, data = {}
@@ -1,3 +1,3 @@
1
1
  module Newslettre
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -185,6 +185,12 @@ describe Newslettre do
185
185
 
186
186
  end
187
187
 
188
+ it "should have a list of objects" do
189
+ @newsletter.list.each do |l|
190
+ l.should be_kind_of(Newslettre::Letter::Object)
191
+ end
192
+ end
193
+
188
194
  it "should create an HTML mail" do
189
195
  data = NEWSLETTRE_CONFIG['letter']
190
196
  data["html"] = File.read File.dirname(__FILE__) + "/fixtures/test-letter.html"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newslettre
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-23 00:00:00.000000000 +02:00
12
+ date: 2011-10-05 00:00:00.000000000 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: yajl-ruby
17
- requirement: &2152125080 !ruby/object:Gem::Requirement
17
+ requirement: &2157570580 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0.8'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2152125080
25
+ version_requirements: *2157570580
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: curb
28
- requirement: &2152123780 !ruby/object:Gem::Requirement
28
+ requirement: &2157570080 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0.7'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2152123780
36
+ version_requirements: *2157570080
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rake
39
- requirement: &2152122980 !ruby/object:Gem::Requirement
39
+ requirement: &2157569620 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0.9'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2152122980
47
+ version_requirements: *2157569620
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rspec
50
- requirement: &2152121980 !ruby/object:Gem::Requirement
50
+ requirement: &2157569160 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '2'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2152121980
58
+ version_requirements: *2157569160
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: webmock
61
- requirement: &2152121340 !ruby/object:Gem::Requirement
61
+ requirement: &2157568660 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '1.7'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *2152121340
69
+ version_requirements: *2157568660
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: vcr
72
- requirement: &2152120560 !ruby/object:Gem::Requirement
72
+ requirement: &2157568180 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '1.11'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *2152120560
80
+ version_requirements: *2157568180
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: cucumber
83
- requirement: &2152119820 !ruby/object:Gem::Requirement
83
+ requirement: &2157567720 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '1'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *2152119820
91
+ version_requirements: *2157567720
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: chronic
94
- requirement: &2152119020 !ruby/object:Gem::Requirement
94
+ requirement: &2157567220 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ~>
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0.6'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *2152119020
102
+ version_requirements: *2157567220
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: timecop
105
- requirement: &2152118220 !ruby/object:Gem::Requirement
105
+ requirement: &2157566740 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0.3'
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *2152118220
113
+ version_requirements: *2157566740
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rspec-spies
116
- requirement: &2152117500 !ruby/object:Gem::Requirement
116
+ requirement: &2157566260 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
@@ -121,7 +121,7 @@ dependencies:
121
121
  version: '2.0'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *2152117500
124
+ version_requirements: *2157566260
125
125
  description: Create and Manage Newsletters using the Sendgrid API
126
126
  email:
127
127
  - l@melzer.it