mailchimp_api_v3 0.0.0 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +38 -6
- data/circle.yml +5 -0
- data/lib/{mailchimp → mailchimp_api_v3}/account.rb +2 -3
- data/lib/{mailchimp → mailchimp_api_v3}/client/remote.rb +5 -6
- data/lib/{mailchimp → mailchimp_api_v3}/client.rb +15 -10
- data/lib/{mailchimp → mailchimp_api_v3}/collection/paging.rb +1 -1
- data/lib/{mailchimp → mailchimp_api_v3}/collection.rb +16 -9
- data/lib/{mailchimp → mailchimp_api_v3}/exception.rb +13 -9
- data/lib/mailchimp_api_v3/instance.rb +62 -0
- data/lib/mailchimp_api_v3/interest.rb +10 -0
- data/lib/{mailchimp → mailchimp_api_v3}/interest_categories.rb +4 -4
- data/lib/mailchimp_api_v3/interest_category.rb +16 -0
- data/lib/{mailchimp → mailchimp_api_v3}/interests.rb +4 -4
- data/lib/mailchimp_api_v3/list.rb +26 -0
- data/lib/{mailchimp → mailchimp_api_v3}/lists.rb +4 -4
- data/lib/mailchimp_api_v3/member.rb +55 -0
- data/lib/{mailchimp → mailchimp_api_v3}/members.rb +4 -4
- data/lib/mailchimp_api_v3/version.rb +3 -0
- data/mailchimp_api_v3.gemspec +5 -5
- data/spec/fixtures/cassettes/mailchimp.yml +335 -73
- data/spec/fixtures/cassettes/members.yml +16 -16
- data/spec/mailchimp/account_spec.rb +5 -5
- data/spec/mailchimp/client_spec.rb +10 -10
- data/spec/mailchimp/exception_spec.rb +22 -14
- data/spec/mailchimp/interest_categories_spec.rb +10 -10
- data/spec/mailchimp/interest_category_spec.rb +5 -5
- data/spec/mailchimp/interest_spec.rb +4 -4
- data/spec/mailchimp/interests_spec.rb +8 -8
- data/spec/mailchimp/list_spec.rb +25 -6
- data/spec/mailchimp/lists_spec.rb +4 -4
- data/spec/mailchimp/member_spec.rb +28 -4
- data/spec/mailchimp/members_spec.rb +5 -5
- data/spec/mailchimp_spec.rb +6 -10
- data/spec/support/api_key.rb +8 -4
- data/spec/support/vcr_setup.rb +1 -0
- metadata +32 -20
- data/lib/mailchimp/instance.rb +0 -31
- data/lib/mailchimp/interest.rb +0 -9
- data/lib/mailchimp/interest_category.rb +0 -19
- data/lib/mailchimp/list.rb +0 -20
- data/lib/mailchimp/member.rb +0 -15
- data/lib/mailchimp/version.rb +0 -3
- data/lib/mailchimp.rb +0 -8
metadata
CHANGED
@@ -1,19 +1,22 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailchimp_api_v3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Xenapto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.6'
|
17
20
|
- - ">"
|
18
21
|
- !ruby/object:Gem::Version
|
19
22
|
version: '1.6'
|
@@ -21,6 +24,9 @@ dependencies:
|
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.6'
|
24
30
|
- - ">"
|
25
31
|
- !ruby/object:Gem::Version
|
26
32
|
version: '1.6'
|
@@ -28,6 +34,9 @@ dependencies:
|
|
28
34
|
name: bundler
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.8'
|
31
40
|
- - ">"
|
32
41
|
- !ruby/object:Gem::Version
|
33
42
|
version: '1.8'
|
@@ -35,6 +44,9 @@ dependencies:
|
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.8'
|
38
50
|
- - ">"
|
39
51
|
- !ruby/object:Gem::Version
|
40
52
|
version: '1.8'
|
@@ -208,23 +220,23 @@ files:
|
|
208
220
|
- Guardfile
|
209
221
|
- LICENSE
|
210
222
|
- README.md
|
211
|
-
-
|
212
|
-
- lib/
|
213
|
-
- lib/
|
214
|
-
- lib/
|
215
|
-
- lib/
|
216
|
-
- lib/
|
217
|
-
- lib/
|
218
|
-
- lib/
|
219
|
-
- lib/
|
220
|
-
- lib/
|
221
|
-
- lib/
|
222
|
-
- lib/
|
223
|
-
- lib/
|
224
|
-
- lib/
|
225
|
-
- lib/
|
226
|
-
- lib/
|
227
|
-
- lib/
|
223
|
+
- circle.yml
|
224
|
+
- lib/mailchimp_api_v3/account.rb
|
225
|
+
- lib/mailchimp_api_v3/client.rb
|
226
|
+
- lib/mailchimp_api_v3/client/remote.rb
|
227
|
+
- lib/mailchimp_api_v3/collection.rb
|
228
|
+
- lib/mailchimp_api_v3/collection/paging.rb
|
229
|
+
- lib/mailchimp_api_v3/exception.rb
|
230
|
+
- lib/mailchimp_api_v3/instance.rb
|
231
|
+
- lib/mailchimp_api_v3/interest.rb
|
232
|
+
- lib/mailchimp_api_v3/interest_categories.rb
|
233
|
+
- lib/mailchimp_api_v3/interest_category.rb
|
234
|
+
- lib/mailchimp_api_v3/interests.rb
|
235
|
+
- lib/mailchimp_api_v3/list.rb
|
236
|
+
- lib/mailchimp_api_v3/lists.rb
|
237
|
+
- lib/mailchimp_api_v3/member.rb
|
238
|
+
- lib/mailchimp_api_v3/members.rb
|
239
|
+
- lib/mailchimp_api_v3/version.rb
|
228
240
|
- mailchimp_api_v3.gemspec
|
229
241
|
- spec/fixtures/cassettes/mailchimp.yml
|
230
242
|
- spec/fixtures/cassettes/members.yml
|
@@ -266,7 +278,7 @@ rubyforge_project:
|
|
266
278
|
rubygems_version: 2.4.8
|
267
279
|
signing_key:
|
268
280
|
specification_version: 4
|
269
|
-
summary: 'Example:
|
281
|
+
summary: 'Example: mailchimp.lists("My first list").member("ann@example.com")'
|
270
282
|
test_files:
|
271
283
|
- spec/fixtures/cassettes/mailchimp.yml
|
272
284
|
- spec/fixtures/cassettes/members.yml
|
data/lib/mailchimp/instance.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
module Mailchimp
|
2
|
-
module Instance
|
3
|
-
def initialize(client, data, collection_path = '')
|
4
|
-
@client = client
|
5
|
-
@collection_path = collection_path
|
6
|
-
@data = data
|
7
|
-
#- puts @data # debug
|
8
|
-
end
|
9
|
-
|
10
|
-
def path
|
11
|
-
@path ||= "#{@collection_path}/#{@data['id']}"
|
12
|
-
end
|
13
|
-
|
14
|
-
def method_missing(symbol, options = {})
|
15
|
-
key = symbol.id2name
|
16
|
-
fail_unless_exists key, options
|
17
|
-
@data[key]
|
18
|
-
end
|
19
|
-
|
20
|
-
def fail_unless_exists(key, options = {})
|
21
|
-
return if @data.key? key
|
22
|
-
message = options == {} ? key : "#{key}: #{options}"
|
23
|
-
fail Mailchimp::Exception::UnknownAttribute, message
|
24
|
-
end
|
25
|
-
|
26
|
-
def fail_unless_id_in(data = {})
|
27
|
-
return if data.key? 'id'
|
28
|
-
fail Mailchimp::Exception::MissingId, data
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
data/lib/mailchimp/interest.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'mailchimp/interests'
|
2
|
-
|
3
|
-
module Mailchimp
|
4
|
-
class List
|
5
|
-
class InterestCategory
|
6
|
-
VALID_TYPES = %w(checkboxes dropdown radio hidden)
|
7
|
-
include Instance
|
8
|
-
|
9
|
-
def interests
|
10
|
-
Interests.new @client, path
|
11
|
-
end
|
12
|
-
|
13
|
-
def update(data, options = { check_id: true })
|
14
|
-
fail_unless_id_in data if options[:check_id]
|
15
|
-
@client.post path, data
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/lib/mailchimp/list.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'mailchimp/members'
|
2
|
-
require 'mailchimp/interest_categories'
|
3
|
-
|
4
|
-
module Mailchimp
|
5
|
-
class List
|
6
|
-
include Instance
|
7
|
-
|
8
|
-
def members(options = {})
|
9
|
-
Members.new @client, path, options
|
10
|
-
end
|
11
|
-
|
12
|
-
def interest_categories(options = {})
|
13
|
-
InterestCategories.new @client, path, options
|
14
|
-
end
|
15
|
-
|
16
|
-
def id_and_name
|
17
|
-
"#{id}___#{name}"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
data/lib/mailchimp/member.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
module Mailchimp
|
2
|
-
class List
|
3
|
-
class Member
|
4
|
-
include Instance
|
5
|
-
|
6
|
-
def name
|
7
|
-
return @name if @name
|
8
|
-
fname = merge_fields['FNAME']
|
9
|
-
lname = merge_fields['LNAME']
|
10
|
-
delim = fname && lname ? ' ' : ''
|
11
|
-
@name = "#{fname}#{delim}#{lname}"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
data/lib/mailchimp/version.rb
DELETED