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.
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