madmimi 1.0.8 → 1.0.10

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/Rakefile CHANGED
@@ -10,7 +10,9 @@ begin
10
10
  gem.email = "nicholas@madmimi.com"
11
11
  gem.homepage = "http://github.com/madmimi/madmimi-gem"
12
12
  gem.authors = ["Nicholas Young", "Marc Heiligers"]
13
- gem.add_development_dependency "crack", ">= 0.1.7"
13
+ gem.add_dependency "crack", "0.1.7"
14
+ gem.add_development_dependency "jeweler", "1.4.0"
15
+ gem.add_development_dependency "fakeweb", "1.2.8"
14
16
  gem.add_development_dependency "shoulda", "2.10.3"
15
17
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
18
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.8
1
+ 1.0.10
data/lib/madmimi.rb CHANGED
@@ -215,5 +215,4 @@ class MadMimi
215
215
  end
216
216
  end
217
217
  end
218
-
219
- end
218
+ end
data/madmimi.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{madmimi}
8
- s.version = "1.0.8"
8
+ s.version = "1.0.10"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Nicholas Young", "Marc Heiligers"]
12
- s.date = %q{2010-05-26}
12
+ s.date = %q{2010-05-31}
13
13
  s.description = %q{Send emails, track statistics, and manage your subscriber base with ease.}
14
14
  s.email = %q{nicholas@madmimi.com}
15
15
  s.extra_rdoc_files = [
@@ -24,13 +24,16 @@ Gem::Specification.new do |s|
24
24
  "VERSION",
25
25
  "lib/madmimi.rb",
26
26
  "madmimi.gemspec",
27
+ "test/fixtures/lists.xml",
28
+ "test/fixtures/promotions.xml",
29
+ "test/fixtures/search.xml",
27
30
  "test/helper.rb",
28
31
  "test/test_madmimi.rb"
29
32
  ]
30
33
  s.homepage = %q{http://github.com/madmimi/madmimi-gem}
31
34
  s.rdoc_options = ["--charset=UTF-8"]
32
35
  s.require_paths = ["lib"]
33
- s.rubygems_version = %q{1.3.6}
36
+ s.rubygems_version = %q{1.3.7}
34
37
  s.summary = %q{Mad Mimi API wrapper for Ruby}
35
38
  s.test_files = [
36
39
  "test/helper.rb",
@@ -41,15 +44,21 @@ Gem::Specification.new do |s|
41
44
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
42
45
  s.specification_version = 3
43
46
 
44
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
45
- s.add_development_dependency(%q<crack>, [">= 0.1.7"])
47
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
48
+ s.add_runtime_dependency(%q<crack>, ["= 0.1.7"])
49
+ s.add_development_dependency(%q<jeweler>, ["= 1.4.0"])
50
+ s.add_development_dependency(%q<fakeweb>, ["= 1.2.8"])
46
51
  s.add_development_dependency(%q<shoulda>, ["= 2.10.3"])
47
52
  else
48
- s.add_dependency(%q<crack>, [">= 0.1.7"])
53
+ s.add_dependency(%q<crack>, ["= 0.1.7"])
54
+ s.add_dependency(%q<jeweler>, ["= 1.4.0"])
55
+ s.add_dependency(%q<fakeweb>, ["= 1.2.8"])
49
56
  s.add_dependency(%q<shoulda>, ["= 2.10.3"])
50
57
  end
51
58
  else
52
- s.add_dependency(%q<crack>, [">= 0.1.7"])
59
+ s.add_dependency(%q<crack>, ["= 0.1.7"])
60
+ s.add_dependency(%q<jeweler>, ["= 1.4.0"])
61
+ s.add_dependency(%q<fakeweb>, ["= 1.2.8"])
53
62
  s.add_dependency(%q<shoulda>, ["= 2.10.3"])
54
63
  end
55
64
  end
@@ -0,0 +1,7 @@
1
+ <lists>
2
+ <list subscriber_count="0" name="Funky List" id="90920"/>
3
+ <list subscriber_count="0" name="New Test" id="90913"/>
4
+ <list subscriber_count="0" name="New Test List" id="93852"/>
5
+ <list subscriber_count="0" name="Other test" id="89621"/>
6
+ <list subscriber_count="0" name="Test List" id="88803"/>
7
+ </lists>
@@ -0,0 +1,10 @@
1
+ <promotions>
2
+ <promotion updated_at="Mon May 24 19:58:02 -0400 2010" mimio="1bee3" name="HTML Test" id="257713">
3
+ </promotion>
4
+ <promotion updated_at="Mon May 24 13:20:14 -0400 2010" mimio="69ce3" name="Untitled Promotion" id="257174">
5
+ <mailing id="1274713">
6
+ <started_send>Mon May 24 13:20:03 -0400 2010</started_send>
7
+ <finished_send>Mon May 24 13:20:06 -0400 2010</finished_send>
8
+ </mailing>
9
+ </promotion>
10
+ </promotions>
@@ -0,0 +1,38 @@
1
+ <audience>
2
+ <member suppressed="false">
3
+ <first_name></first_name>
4
+ <last_name></last_name>
5
+ <email>nicholas@madmimi.com</email>
6
+ <created_at>Mon May 24 13:19:59 -0400 2010</created_at>
7
+ <city></city>
8
+ <phone></phone>
9
+ <company></company>
10
+ <title></title>
11
+ <address></address>
12
+ <state></state>
13
+ <zip></zip>
14
+ <country></country>
15
+ <confirmed></confirmed>
16
+ <music></music>
17
+ <lists>
18
+ </lists>
19
+ </member>
20
+ <member suppressed="false">
21
+ <first_name></first_name>
22
+ <last_name></last_name>
23
+ <email>nicholas@nicholaswyoung.com</email>
24
+ <created_at>Mon May 24 20:17:30 -0400 2010</created_at>
25
+ <city></city>
26
+ <phone></phone>
27
+ <company></company>
28
+ <title></title>
29
+ <address></address>
30
+ <state></state>
31
+ <zip></zip>
32
+ <country></country>
33
+ <confirmed></confirmed>
34
+ <music></music>
35
+ <lists>
36
+ </lists>
37
+ </member>
38
+ </audience>
data/test/helper.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'test/unit'
3
3
  require 'shoulda'
4
+ require 'fakeweb'
4
5
 
5
6
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
7
  $LOAD_PATH.unshift(File.dirname(__FILE__))
@@ -8,3 +9,30 @@ require 'madmimi'
8
9
 
9
10
  class Test::Unit::TestCase
10
11
  end
12
+
13
+ def fixture_file(filename)
14
+ return '' if filename == ''
15
+ file_path = File.expand_path(File.dirname(__FILE__) + '/fixtures/' + filename)
16
+ File.read(file_path)
17
+ end
18
+
19
+ def madmimi_url(url, https = false)
20
+ if https = false
21
+ url =~ /^http/ ? url : "http://api.madmimi.com#{url}"
22
+ else
23
+ url =~ /^https/ ? url : "https://api.madmimi.com#{url}"
24
+ end
25
+ end
26
+
27
+ def stub_get(url, filename, status = nil)
28
+ options = { :body => fixture_file(filename) }
29
+ options.merge!({ :status => status }) unless status.nil?
30
+ FakeWeb.register_uri(:get, madmimi_url(url), options)
31
+ end
32
+
33
+ # In the process of tweaking this. - Nicholas
34
+ def stub_post(url, filename = nil, status = nil)
35
+ options = { :body => "" }
36
+ options.merge!({ :status => status }) unless status.nil?
37
+ FakeWeb.register_url(:get, madmimi_url(url), options)
38
+ end
data/test/test_madmimi.rb CHANGED
@@ -1,7 +1,27 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestMadmimi < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "Coming soon!"
4
+ context "A API call" do
5
+ setup do
6
+ @mimi = MadMimi.new('email@example.com', 'testapikey')
7
+ end
8
+
9
+ should "retrieve a hash of promotions" do
10
+ stub_get('/promotions.xml', 'promotions.xml')
11
+ response = @mimi.promotions
12
+ flunk unless response.kind_of?(Hash) || !response.empty?
13
+ end
14
+
15
+ should "retrieve a hash of lists" do
16
+ stub_get('/audience_lists/lists.xml', 'lists.xml')
17
+ response = @mimi.lists
18
+ flunk "Doesn't return any lists." unless response.kind_of?(Hash) || !response.empty?
19
+ end
20
+
21
+ should "retrieve a hash of users found with the search term nicholas" do
22
+ stub_get('/audience_members/search.xml?query=nicholas', 'search.xml')
23
+ response = @mimi.audience_search('nicholas')
24
+ flunk "No users found" unless response.kind_of?(Hash) || !response.empty?
25
+ end
6
26
  end
7
27
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: madmimi
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 3
4
5
  prerelease: false
5
6
  segments:
6
7
  - 1
7
8
  - 0
8
- - 8
9
- version: 1.0.8
9
+ - 10
10
+ version: 1.0.10
10
11
  platform: ruby
11
12
  authors:
12
13
  - Nicholas Young
@@ -15,37 +16,73 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2010-05-26 00:00:00 -05:00
19
+ date: 2010-05-31 00:00:00 -05:00
19
20
  default_executable:
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
22
23
  name: crack
23
24
  prerelease: false
24
25
  requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
25
27
  requirements:
26
- - - ">="
28
+ - - "="
27
29
  - !ruby/object:Gem::Version
30
+ hash: 21
28
31
  segments:
29
32
  - 0
30
33
  - 1
31
34
  - 7
32
35
  version: 0.1.7
33
- type: :development
36
+ type: :runtime
34
37
  version_requirements: *id001
35
38
  - !ruby/object:Gem::Dependency
36
- name: shoulda
39
+ name: jeweler
37
40
  prerelease: false
38
41
  requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - "="
45
+ - !ruby/object:Gem::Version
46
+ hash: 7
47
+ segments:
48
+ - 1
49
+ - 4
50
+ - 0
51
+ version: 1.4.0
52
+ type: :development
53
+ version_requirements: *id002
54
+ - !ruby/object:Gem::Dependency
55
+ name: fakeweb
56
+ prerelease: false
57
+ requirement: &id003 !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - "="
61
+ - !ruby/object:Gem::Version
62
+ hash: 15
63
+ segments:
64
+ - 1
65
+ - 2
66
+ - 8
67
+ version: 1.2.8
68
+ type: :development
69
+ version_requirements: *id003
70
+ - !ruby/object:Gem::Dependency
71
+ name: shoulda
72
+ prerelease: false
73
+ requirement: &id004 !ruby/object:Gem::Requirement
74
+ none: false
39
75
  requirements:
40
76
  - - "="
41
77
  - !ruby/object:Gem::Version
78
+ hash: 33
42
79
  segments:
43
80
  - 2
44
81
  - 10
45
82
  - 3
46
83
  version: 2.10.3
47
84
  type: :development
48
- version_requirements: *id002
85
+ version_requirements: *id004
49
86
  description: Send emails, track statistics, and manage your subscriber base with ease.
50
87
  email: nicholas@madmimi.com
51
88
  executables: []
@@ -63,6 +100,9 @@ files:
63
100
  - VERSION
64
101
  - lib/madmimi.rb
65
102
  - madmimi.gemspec
103
+ - test/fixtures/lists.xml
104
+ - test/fixtures/promotions.xml
105
+ - test/fixtures/search.xml
66
106
  - test/helper.rb
67
107
  - test/test_madmimi.rb
68
108
  has_rdoc: true
@@ -75,23 +115,27 @@ rdoc_options:
75
115
  require_paths:
76
116
  - lib
77
117
  required_ruby_version: !ruby/object:Gem::Requirement
118
+ none: false
78
119
  requirements:
79
120
  - - ">="
80
121
  - !ruby/object:Gem::Version
122
+ hash: 3
81
123
  segments:
82
124
  - 0
83
125
  version: "0"
84
126
  required_rubygems_version: !ruby/object:Gem::Requirement
127
+ none: false
85
128
  requirements:
86
129
  - - ">="
87
130
  - !ruby/object:Gem::Version
131
+ hash: 3
88
132
  segments:
89
133
  - 0
90
134
  version: "0"
91
135
  requirements: []
92
136
 
93
137
  rubyforge_project:
94
- rubygems_version: 1.3.6
138
+ rubygems_version: 1.3.7
95
139
  signing_key:
96
140
  specification_version: 3
97
141
  summary: Mad Mimi API wrapper for Ruby