mailchimp 0.0.3.alpha → 0.0.4.alpha
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.markdown +7 -1
- data/lib/mailchimp/ext/httparty.rb +13 -0
- data/lib/mailchimp/mandrill.rb +2 -1
- data/lib/mailchimp/version.rb +1 -1
- data/test/integration/mandrill_test.rb +3 -3
- metadata +16 -16
data/README.markdown
CHANGED
@@ -51,7 +51,13 @@ Write tests before you change anything, run tests before you commit anything:
|
|
51
51
|
|
52
52
|
$ rake test
|
53
53
|
|
54
|
-
We welcome concise pull requests that match the style of this gem and have appropriate tests.
|
54
|
+
We welcome concise pull requests that match the style of this gem and have appropriate tests. To get a
|
55
|
+
console running where you can play, run:
|
56
|
+
|
57
|
+
irb
|
58
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'lib'))
|
59
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
60
|
+
require 'mailchimp'
|
55
61
|
|
56
62
|
##Contributors
|
57
63
|
|
@@ -1,3 +1,16 @@
|
|
1
|
+
class MailchimpPsuedoJSONParser < HTTParty::Parser
|
2
|
+
# Unfornately Mailchimp's API returns invalid JSON for some valid requests,
|
3
|
+
# specifically mandrill's users/ping. We need to just pass that through instead
|
4
|
+
# of blowing up inside of HTTParty so that we can do something with it later.
|
5
|
+
def json
|
6
|
+
begin
|
7
|
+
MultiJson.decode(body)
|
8
|
+
rescue
|
9
|
+
body
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
1
14
|
module HTTParty
|
2
15
|
module HashConversions
|
3
16
|
# @param key<Object> The key for the param.
|
data/lib/mailchimp/mandrill.rb
CHANGED
@@ -5,6 +5,7 @@ end
|
|
5
5
|
module Mailchimp
|
6
6
|
class Mandrill
|
7
7
|
include HTTParty
|
8
|
+
parser MailchimpPsuedoJSONParser
|
8
9
|
default_timeout 30
|
9
10
|
|
10
11
|
attr_accessor :api_key, :timeout, :options
|
@@ -51,7 +52,7 @@ module Mailchimp
|
|
51
52
|
end
|
52
53
|
|
53
54
|
def valid_api_key?(*args)
|
54
|
-
'PONG!' == self.users_ping
|
55
|
+
'"PONG!"' == self.users_ping
|
55
56
|
end
|
56
57
|
|
57
58
|
class << self
|
data/lib/mailchimp/version.rb
CHANGED
@@ -6,12 +6,12 @@ class MandrillIntegrationTest < Test::Unit::TestCase
|
|
6
6
|
FakeWeb.register_uri(
|
7
7
|
:post,
|
8
8
|
'http://mandrillapp.com/api/1.0/users/ping',
|
9
|
-
body: "PONG!"
|
9
|
+
body: '"PONG!"'
|
10
10
|
)
|
11
11
|
expected_request = "key=abc123-us1&options[track_opens]=true&options[track_clicks]=true"
|
12
12
|
|
13
13
|
m = Mailchimp::Mandrill.new('abc123-us1')
|
14
|
-
assert_equal "PONG!", m.users_ping
|
14
|
+
assert_equal '"PONG!"', m.users_ping
|
15
15
|
assert_equal expected_request, URI::decode(FakeWeb.last_request.body)
|
16
16
|
end
|
17
17
|
|
@@ -19,7 +19,7 @@ class MandrillIntegrationTest < Test::Unit::TestCase
|
|
19
19
|
FakeWeb.register_uri(
|
20
20
|
:post,
|
21
21
|
'http://mandrillapp.com/api/1.0/users/ping',
|
22
|
-
body: "PONG!"
|
22
|
+
body: '"PONG!"'
|
23
23
|
)
|
24
24
|
|
25
25
|
m = Mailchimp::Mandrill.new('abc123-us1')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailchimp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4.alpha
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-04 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
16
|
-
requirement: &
|
16
|
+
requirement: &70284804810420 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70284804810420
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: ruby-debug19
|
27
|
-
requirement: &
|
27
|
+
requirement: &70284804810000 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70284804810000
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70284804809560 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70284804809560
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: shoulda
|
49
|
-
requirement: &
|
49
|
+
requirement: &70284804809140 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70284804809140
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: mocha
|
60
|
-
requirement: &
|
60
|
+
requirement: &70284804808680 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70284804808680
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cover_me
|
71
|
-
requirement: &
|
71
|
+
requirement: &70284804808260 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70284804808260
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: fakeweb
|
82
|
-
requirement: &
|
82
|
+
requirement: &70284804807840 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70284804807840
|
91
91
|
description: This provides Ruby access to (eventually) all of Mailchimp's APIs
|
92
92
|
email:
|
93
93
|
- chris@highgroove.com
|