mailchimp_api_v3 0.0.0 → 0.0.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 +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