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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +38 -6
  3. data/circle.yml +5 -0
  4. data/lib/{mailchimp → mailchimp_api_v3}/account.rb +2 -3
  5. data/lib/{mailchimp → mailchimp_api_v3}/client/remote.rb +5 -6
  6. data/lib/{mailchimp → mailchimp_api_v3}/client.rb +15 -10
  7. data/lib/{mailchimp → mailchimp_api_v3}/collection/paging.rb +1 -1
  8. data/lib/{mailchimp → mailchimp_api_v3}/collection.rb +16 -9
  9. data/lib/{mailchimp → mailchimp_api_v3}/exception.rb +13 -9
  10. data/lib/mailchimp_api_v3/instance.rb +62 -0
  11. data/lib/mailchimp_api_v3/interest.rb +10 -0
  12. data/lib/{mailchimp → mailchimp_api_v3}/interest_categories.rb +4 -4
  13. data/lib/mailchimp_api_v3/interest_category.rb +16 -0
  14. data/lib/{mailchimp → mailchimp_api_v3}/interests.rb +4 -4
  15. data/lib/mailchimp_api_v3/list.rb +26 -0
  16. data/lib/{mailchimp → mailchimp_api_v3}/lists.rb +4 -4
  17. data/lib/mailchimp_api_v3/member.rb +55 -0
  18. data/lib/{mailchimp → mailchimp_api_v3}/members.rb +4 -4
  19. data/lib/mailchimp_api_v3/version.rb +3 -0
  20. data/mailchimp_api_v3.gemspec +5 -5
  21. data/spec/fixtures/cassettes/mailchimp.yml +335 -73
  22. data/spec/fixtures/cassettes/members.yml +16 -16
  23. data/spec/mailchimp/account_spec.rb +5 -5
  24. data/spec/mailchimp/client_spec.rb +10 -10
  25. data/spec/mailchimp/exception_spec.rb +22 -14
  26. data/spec/mailchimp/interest_categories_spec.rb +10 -10
  27. data/spec/mailchimp/interest_category_spec.rb +5 -5
  28. data/spec/mailchimp/interest_spec.rb +4 -4
  29. data/spec/mailchimp/interests_spec.rb +8 -8
  30. data/spec/mailchimp/list_spec.rb +25 -6
  31. data/spec/mailchimp/lists_spec.rb +4 -4
  32. data/spec/mailchimp/member_spec.rb +28 -4
  33. data/spec/mailchimp/members_spec.rb +5 -5
  34. data/spec/mailchimp_spec.rb +6 -10
  35. data/spec/support/api_key.rb +8 -4
  36. data/spec/support/vcr_setup.rb +1 -0
  37. metadata +32 -20
  38. data/lib/mailchimp/instance.rb +0 -31
  39. data/lib/mailchimp/interest.rb +0 -9
  40. data/lib/mailchimp/interest_category.rb +0 -19
  41. data/lib/mailchimp/list.rb +0 -20
  42. data/lib/mailchimp/member.rb +0 -15
  43. data/lib/mailchimp/version.rb +0 -3
  44. 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.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-01 00:00:00.000000000 Z
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
- - lib/mailchimp.rb
212
- - lib/mailchimp/account.rb
213
- - lib/mailchimp/client.rb
214
- - lib/mailchimp/client/remote.rb
215
- - lib/mailchimp/collection.rb
216
- - lib/mailchimp/collection/paging.rb
217
- - lib/mailchimp/exception.rb
218
- - lib/mailchimp/instance.rb
219
- - lib/mailchimp/interest.rb
220
- - lib/mailchimp/interest_categories.rb
221
- - lib/mailchimp/interest_category.rb
222
- - lib/mailchimp/interests.rb
223
- - lib/mailchimp/list.rb
224
- - lib/mailchimp/lists.rb
225
- - lib/mailchimp/member.rb
226
- - lib/mailchimp/members.rb
227
- - lib/mailchimp/version.rb
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: Mailchimp.new(mc_key).lists'
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
@@ -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
@@ -1,9 +0,0 @@
1
- module Mailchimp
2
- class List
3
- class InterestCategory
4
- class Interest
5
- include Instance
6
- end
7
- end
8
- end
9
- end
@@ -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
@@ -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
@@ -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
@@ -1,3 +0,0 @@
1
- module Mailchimp
2
- VERSION = '0.0.0'
3
- end
data/lib/mailchimp.rb DELETED
@@ -1,8 +0,0 @@
1
- require 'mailchimp/version'
2
- require 'mailchimp/client'
3
-
4
- module Mailchimp
5
- def self.connect(api_key = nil)
6
- Client.new api_key
7
- end
8
- end