locaweb-emailmarketing 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/.gitignore +4 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +4 -0
  4. data/README.md +133 -0
  5. data/Rakefile +1 -0
  6. data/lib/locaweb-emailmarketing.rb +12 -0
  7. data/lib/locaweb-emailmarketing/adapters.rb +1 -0
  8. data/lib/locaweb-emailmarketing/adapters/http_request_adapter.rb +38 -0
  9. data/lib/locaweb-emailmarketing/client.rb +60 -0
  10. data/lib/locaweb-emailmarketing/clients.rb +14 -0
  11. data/lib/locaweb-emailmarketing/clients/account_client.rb +22 -0
  12. data/lib/locaweb-emailmarketing/clients/base_client.rb +52 -0
  13. data/lib/locaweb-emailmarketing/clients/campaign_client.rb +13 -0
  14. data/lib/locaweb-emailmarketing/clients/contact_client.rb +12 -0
  15. data/lib/locaweb-emailmarketing/clients/contact_import_client.rb +19 -0
  16. data/lib/locaweb-emailmarketing/clients/custom_field_client.rb +12 -0
  17. data/lib/locaweb-emailmarketing/clients/domain_client.rb +12 -0
  18. data/lib/locaweb-emailmarketing/clients/list_client.rb +12 -0
  19. data/lib/locaweb-emailmarketing/clients/message_client.rb +13 -0
  20. data/lib/locaweb-emailmarketing/clients/report_client.rb +41 -0
  21. data/lib/locaweb-emailmarketing/clients/sender_client.rb +15 -0
  22. data/lib/locaweb-emailmarketing/clients/template_client.rb +12 -0
  23. data/lib/locaweb-emailmarketing/clients/unsubscribe_reason_client.rb +13 -0
  24. data/lib/locaweb-emailmarketing/lib/hash.rb +9 -0
  25. data/lib/locaweb-emailmarketing/libs.rb +1 -0
  26. data/lib/locaweb-emailmarketing/version.rb +5 -0
  27. data/locaweb-emailmarketing.gemspec +30 -0
  28. data/spec/fixtures/cassettes/accounts_all.yml +74 -0
  29. data/spec/fixtures/cassettes/accounts_get.yml +77 -0
  30. data/spec/fixtures/cassettes/accounts_update.yml +124 -0
  31. data/spec/fixtures/cassettes/custom_field_all.yml +150 -0
  32. data/spec/fixtures/cassettes/custom_field_create.yml +263 -0
  33. data/spec/fixtures/cassettes/custom_field_destroy.yml +187 -0
  34. data/spec/fixtures/cassettes/custom_field_get.yml +146 -0
  35. data/spec/fixtures/cassettes/custom_field_update.yml +265 -0
  36. data/spec/fixtures/cassettes/reports_bounces.yml +75 -0
  37. data/spec/fixtures/cassettes/reports_clicks.yml +74 -0
  38. data/spec/fixtures/cassettes/reports_links.yml +73 -0
  39. data/spec/fixtures/cassettes/reports_openings.yml +74 -0
  40. data/spec/fixtures/cassettes/reports_overview.yml +75 -0
  41. data/spec/fixtures/cassettes/reports_uniq_openings.yml +74 -0
  42. data/spec/locaweb-emailmarketing/adapters/http_request_adapter_spec.rb +63 -0
  43. data/spec/locaweb-emailmarketing/client_spec.rb +14 -0
  44. data/spec/locaweb-emailmarketing/clients/account_client_spec.rb +37 -0
  45. data/spec/locaweb-emailmarketing/clients/base_client_spec.rb +77 -0
  46. data/spec/locaweb-emailmarketing/clients/campaign_client_spec.rb +10 -0
  47. data/spec/locaweb-emailmarketing/clients/contact_client_spec.rb +10 -0
  48. data/spec/locaweb-emailmarketing/clients/contact_import_client_spec.rb +9 -0
  49. data/spec/locaweb-emailmarketing/clients/custom_field_client_spec.rb +10 -0
  50. data/spec/locaweb-emailmarketing/clients/domains_client_spec.rb +10 -0
  51. data/spec/locaweb-emailmarketing/clients/list_client_spec.rb +10 -0
  52. data/spec/locaweb-emailmarketing/clients/message_client_spec.rb +10 -0
  53. data/spec/locaweb-emailmarketing/clients/report_client_spec.rb +70 -0
  54. data/spec/locaweb-emailmarketing/clients/sender_client_spec.rb +9 -0
  55. data/spec/locaweb-emailmarketing/clients/template_client_spec.rb +10 -0
  56. data/spec/locaweb-emailmarketing/clients/unsubscribe_reason_client_spec.rb +10 -0
  57. data/spec/locaweb-emailmarketing/lib/hash_spec.rb +23 -0
  58. data/spec/spec_helper.rb +21 -0
  59. data/spec/support/base_client_examples.rb +100 -0
  60. metadata +193 -0
@@ -0,0 +1,10 @@
1
+ require "spec_helper"
2
+
3
+ include Locaweb::Emailmarketing
4
+
5
+ describe Locaweb::Emailmarketing::CustomFieldClient do
6
+ it_should_behave_like "a base client", "custom_fields" do
7
+ let(:requires_keys_to_create) { [:name, :type] }
8
+ let(:requires_keys_to_update) { [:name] }
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require "spec_helper"
2
+
3
+ include Locaweb::Emailmarketing
4
+
5
+ describe Locaweb::Emailmarketing::DomainClient do
6
+ it_should_behave_like "a base client", "domains" do
7
+ let(:requires_keys_to_create) { [:name] }
8
+ let(:requires_keys_to_update) { [:name, :default] }
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require "spec_helper"
2
+
3
+ include Locaweb::Emailmarketing
4
+
5
+ describe Locaweb::Emailmarketing::ListClient do
6
+ it_should_behave_like "a base client", "lists" do
7
+ let(:requires_keys_to_create) { [:name] }
8
+ let(:requires_keys_to_update) { [:name] }
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require "spec_helper"
2
+
3
+ include Locaweb::Emailmarketing
4
+
5
+ describe Locaweb::Emailmarketing::MessageClient do
6
+ it_should_behave_like "a base client", "messages" do
7
+ let(:requires_keys_to_create) { [:domain_id, :html_body, :list_ids, :name, :sender_name, :sender, :subject, :scheduled_to] }
8
+ let(:requires_keys_to_update) { [] }
9
+ end
10
+ end
@@ -0,0 +1,70 @@
1
+ require "spec_helper"
2
+
3
+ include Locaweb::Emailmarketing
4
+
5
+ describe Locaweb::Emailmarketing::ReportClient do
6
+ let(:trial_account_id) { "50f8e28abf8d79f935000001" }
7
+ let(:auth_token) { "Nt5skc1xXsvKKSsyp3Bsx7ABNdJz9pc1uA9kyTdjnJkr" }
8
+ let(:client) { Client.new auth_token: auth_token, base_url: BASE_URL, account_id: trial_account_id }
9
+ let(:message_id) { "50f9828436e1d9ce0d000fd5" }
10
+
11
+ describe ".overview" do
12
+ it "returns overview report of a message" do
13
+ VCR.use_cassette('reports_overview') do
14
+ data = client.reports.overview(message_id)
15
+ expected_keys = ["status", "bounces", "clicks", "contacts", "deliveries", "openings", "uniq_openings", "unsubscribes"]
16
+ (data.keys & expected_keys).should =~ expected_keys
17
+ end
18
+ end
19
+ end
20
+
21
+ describe ".openings" do
22
+ it "returns openings of a message" do
23
+ VCR.use_cassette('reports_openings') do
24
+ data = client.reports.openings(message_id).first
25
+ expected_keys = ["email", "ip", "access_at"]
26
+ (data.keys & expected_keys).should =~ expected_keys
27
+ end
28
+ end
29
+ end
30
+
31
+ describe ".uniq_openings" do
32
+ it "returns message_id of a message" do
33
+ VCR.use_cassette('reports_uniq_openings') do
34
+ data = client.reports.uniq_openings(message_id).first
35
+ expected_keys = ["email", "ip", "access_at"]
36
+ (data.keys & expected_keys).should =~ expected_keys
37
+ end
38
+ end
39
+ end
40
+
41
+ describe ".links" do
42
+ it "returns links of a message" do
43
+ VCR.use_cassette('reports_links') do
44
+ data = client.reports.links(message_id).first
45
+ expected_keys = ["href", "name"]
46
+ (data.keys & expected_keys).should =~ expected_keys
47
+ end
48
+ end
49
+ end
50
+
51
+ describe ".clicks" do
52
+ it "returns clicks of a message" do
53
+ VCR.use_cassette('reports_clicks') do
54
+ data = client.reports.clicks(message_id).first
55
+ expected_keys = ["href", "email", "ip", "access_at"]
56
+ (data.keys & expected_keys).should =~ expected_keys
57
+ end
58
+ end
59
+ end
60
+
61
+ describe ".bounces" do
62
+ it "returns bounces of a message" do
63
+ VCR.use_cassette('reports_bounces') do
64
+ data = client.reports.bounces(message_id).first
65
+ expected_keys = ["status", "email", "diagnostic", "access_at"]
66
+ (data.keys & expected_keys).should =~ expected_keys
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,9 @@
1
+ require "spec_helper"
2
+
3
+ include Locaweb::Emailmarketing
4
+
5
+ describe Locaweb::Emailmarketing::SenderClient do
6
+ it_should_behave_like "a base client", "senders", [:update] do
7
+ let(:requires_keys_to_create) { [:email] }
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ require "spec_helper"
2
+
3
+ include Locaweb::Emailmarketing
4
+
5
+ describe Locaweb::Emailmarketing::TemplateClient do
6
+ it_should_behave_like "a base client", "templates" do
7
+ let(:requires_keys_to_create) { [:name, :html_body, :text_body] }
8
+ let(:requires_keys_to_update) { [] }
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require "spec_helper"
2
+
3
+ include Locaweb::Emailmarketing
4
+
5
+ describe Locaweb::Emailmarketing::UnsubscribeReasonClient do
6
+ it_should_behave_like "a base client", "unsubscribe_reasons" do
7
+ let(:requires_keys_to_create) { [:name] }
8
+ let(:requires_keys_to_update) { [:name] }
9
+ end
10
+ end
@@ -0,0 +1,23 @@
1
+ require "spec_helper"
2
+
3
+ describe Hash do
4
+ describe ".assert_required_keys" do
5
+ context "when invalid keys" do
6
+ it "raises exception" do
7
+ lambda { {aa: 1}.assert_required_keys(optional: [:bb]) }.should raise_exception ArgumentError
8
+ end
9
+ end
10
+
11
+ context "when missing required keys" do
12
+ it "raises exception" do
13
+ lambda { {aa: 1}.assert_required_keys(optional: [:aa], required: [:bb]) }.should raise_exception ArgumentError
14
+ end
15
+ end
16
+
17
+ context "when keys ok" do
18
+ it "does not raise exception" do
19
+ {bb: 1}.assert_required_keys(optional: [:aa], required: [:bb]).should be_nil
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ require 'rspec'
2
+ require 'locaweb-emailmarketing'
3
+ require 'pry'
4
+ require 'vcr'
5
+ require 'webmock'
6
+
7
+ AUTH_TOKEN = 'Nt5skc1xXsvKKSsyp3Bsx7ABNdJz9pc1uA9kyTdjnJkr'
8
+ BASE_URL = 'https://emailmarketing.locaweb.com.br/api/v1'
9
+ TRIAL_ACCOUNT_ID = "50f8e28abf8d79f935000001"
10
+
11
+ Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
12
+
13
+ VCR.configure do |conf|
14
+ conf.default_cassette_options = { :match_requests_on => [:uri, :method, :body, :headers] }
15
+ conf.cassette_library_dir = 'spec/fixtures/cassettes'
16
+ conf.hook_into :webmock
17
+ end
18
+
19
+ RSpec.configure do |config|
20
+ # some (optional) config here
21
+ end
@@ -0,0 +1,100 @@
1
+ shared_examples_for "a base client" do |resource_name, except = []|
2
+ let(:client) { Client.new auth_token: AUTH_TOKEN, base_url: BASE_URL, account_id: TRIAL_ACCOUNT_ID }
3
+
4
+ unless except.include?(:all)
5
+ describe ".all" do
6
+ it "calls http GET to #{resource_name} index url" do
7
+ HttpRequestAdapter.any_instance.should_receive(:get).with("accounts/#{TRIAL_ACCOUNT_ID}/#{resource_name}")
8
+ client.send(resource_name).all
9
+ end
10
+
11
+ it "returns GET response" do
12
+ HttpRequestAdapter.any_instance.stub(:get).and_return({})
13
+ client.send(resource_name).all.should == {}
14
+ end
15
+ end
16
+ end
17
+
18
+ unless except.include?(:get)
19
+ describe ".get" do
20
+ let(:resource_id) { "lalapopolala" }
21
+
22
+ it "calls http GET to #{resource_name} show url" do
23
+ HttpRequestAdapter.any_instance.should_receive(:get).with("accounts/#{TRIAL_ACCOUNT_ID}/#{resource_name}/#{resource_id}")
24
+ client.send(resource_name).get(resource_id)
25
+ end
26
+
27
+ it "returns GET response" do
28
+ HttpRequestAdapter.any_instance.stub(:get).and_return({})
29
+ client.send(resource_name).get(resource_id).should == {}
30
+ end
31
+ end
32
+ end
33
+
34
+ unless except.include?(:create)
35
+ describe ".create" do
36
+ let(:attributes) do
37
+ attrs = {}
38
+ requires_keys_to_create.each { |key| attrs[key] = "any_value" }
39
+ attrs
40
+ end
41
+
42
+ context "when invalid attributes" do
43
+ it "raise ArgumentError exception" do
44
+ lambda{ client.send(resource_name).create(lalapopo: 1) }.should raise_exception ArgumentError
45
+ end
46
+ end
47
+
48
+ it "calls http POST to #{resource_name} create url" do
49
+ HttpRequestAdapter.any_instance.should_receive(:post).with("accounts/#{TRIAL_ACCOUNT_ID}/#{resource_name}", {resource_name.singularize.to_sym => attributes}).and_return(%q|{"id": "12"}|)
50
+ client.send(resource_name).create(attributes)
51
+ end
52
+
53
+ it "returns created #{resource_name.singularize}'s id" do
54
+ HttpRequestAdapter.any_instance.stub(:post).and_return(%q|{"id": "12"}|)
55
+ client.send(resource_name).create(attributes).should == "12"
56
+ end
57
+ end
58
+ end
59
+
60
+ unless except.include?(:update)
61
+ describe ".update" do
62
+ let(:resource_id) { "12334" }
63
+ let(:attributes) do
64
+ attrs = {}
65
+ requires_keys_to_update.each { |key| attrs[key] = "any_value" }
66
+ attrs
67
+ end
68
+
69
+ context "when invalid attributes" do
70
+ it "raise ArgumentError exception" do
71
+ lambda{ client.send(resource_name).update(resource_id, lalapopo: 1) }.should raise_exception ArgumentError
72
+ end
73
+ end
74
+
75
+ it "calls http PUT to #{resource_name} update url" do
76
+ HttpRequestAdapter.any_instance.should_receive(:put).with("accounts/#{TRIAL_ACCOUNT_ID}/#{resource_name}/#{resource_id}", {resource_name.singularize.to_sym => attributes})
77
+ client.send(resource_name).update(resource_id, attributes)
78
+ end
79
+ end
80
+ end
81
+
82
+ unless except.include?(:destroy)
83
+ describe ".destroy" do
84
+ let(:resource_id) { "lalapopolala" }
85
+
86
+ it "calls http DELETE to #{resource_name} delete url" do
87
+ HttpRequestAdapter.any_instance.should_receive(:delete).with("accounts/#{TRIAL_ACCOUNT_ID}/#{resource_name}/#{resource_id}")
88
+ client.send(resource_name).destroy(resource_id)
89
+ end
90
+ end
91
+ end
92
+
93
+ except.each do |not_implemented_method|
94
+ describe ".not_implemented_method" do
95
+ it "raises not implemented method error" do
96
+ lambda { client.send(resource_name).send(not_implemented_method) }.should raise_exception NotImplementedError
97
+ end
98
+ end
99
+ end
100
+ end
metadata ADDED
@@ -0,0 +1,193 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: locaweb-emailmarketing
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Fabio Perrella
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-01-18 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: &74293600 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *74293600
25
+ - !ruby/object:Gem::Dependency
26
+ name: pry
27
+ requirement: &74293330 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *74293330
36
+ - !ruby/object:Gem::Dependency
37
+ name: pry-debugger
38
+ requirement: &74292860 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *74292860
47
+ - !ruby/object:Gem::Dependency
48
+ name: webmock
49
+ requirement: &74292390 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.8.11
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *74292390
58
+ - !ruby/object:Gem::Dependency
59
+ name: vcr
60
+ requirement: &74291990 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *74291990
69
+ - !ruby/object:Gem::Dependency
70
+ name: activesupport
71
+ requirement: &74291620 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *74291620
80
+ - !ruby/object:Gem::Dependency
81
+ name: rest-client
82
+ requirement: &74291410 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *74291410
91
+ - !ruby/object:Gem::Dependency
92
+ name: json
93
+ requirement: &74291160 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: *74291160
102
+ description: APIs for Locaweb EmailMarketing http://emailmarketing.locaweb.com.br/trial
103
+ email:
104
+ - fabio.perrella@gmail.com
105
+ executables: []
106
+ extensions: []
107
+ extra_rdoc_files: []
108
+ files:
109
+ - .gitignore
110
+ - .rspec
111
+ - Gemfile
112
+ - README.md
113
+ - Rakefile
114
+ - lib/locaweb-emailmarketing.rb
115
+ - lib/locaweb-emailmarketing/adapters.rb
116
+ - lib/locaweb-emailmarketing/adapters/http_request_adapter.rb
117
+ - lib/locaweb-emailmarketing/client.rb
118
+ - lib/locaweb-emailmarketing/clients.rb
119
+ - lib/locaweb-emailmarketing/clients/account_client.rb
120
+ - lib/locaweb-emailmarketing/clients/base_client.rb
121
+ - lib/locaweb-emailmarketing/clients/campaign_client.rb
122
+ - lib/locaweb-emailmarketing/clients/contact_client.rb
123
+ - lib/locaweb-emailmarketing/clients/contact_import_client.rb
124
+ - lib/locaweb-emailmarketing/clients/custom_field_client.rb
125
+ - lib/locaweb-emailmarketing/clients/domain_client.rb
126
+ - lib/locaweb-emailmarketing/clients/list_client.rb
127
+ - lib/locaweb-emailmarketing/clients/message_client.rb
128
+ - lib/locaweb-emailmarketing/clients/report_client.rb
129
+ - lib/locaweb-emailmarketing/clients/sender_client.rb
130
+ - lib/locaweb-emailmarketing/clients/template_client.rb
131
+ - lib/locaweb-emailmarketing/clients/unsubscribe_reason_client.rb
132
+ - lib/locaweb-emailmarketing/lib/hash.rb
133
+ - lib/locaweb-emailmarketing/libs.rb
134
+ - lib/locaweb-emailmarketing/version.rb
135
+ - locaweb-emailmarketing.gemspec
136
+ - spec/fixtures/cassettes/accounts_all.yml
137
+ - spec/fixtures/cassettes/accounts_get.yml
138
+ - spec/fixtures/cassettes/accounts_update.yml
139
+ - spec/fixtures/cassettes/custom_field_all.yml
140
+ - spec/fixtures/cassettes/custom_field_create.yml
141
+ - spec/fixtures/cassettes/custom_field_destroy.yml
142
+ - spec/fixtures/cassettes/custom_field_get.yml
143
+ - spec/fixtures/cassettes/custom_field_update.yml
144
+ - spec/fixtures/cassettes/reports_bounces.yml
145
+ - spec/fixtures/cassettes/reports_clicks.yml
146
+ - spec/fixtures/cassettes/reports_links.yml
147
+ - spec/fixtures/cassettes/reports_openings.yml
148
+ - spec/fixtures/cassettes/reports_overview.yml
149
+ - spec/fixtures/cassettes/reports_uniq_openings.yml
150
+ - spec/locaweb-emailmarketing/adapters/http_request_adapter_spec.rb
151
+ - spec/locaweb-emailmarketing/client_spec.rb
152
+ - spec/locaweb-emailmarketing/clients/account_client_spec.rb
153
+ - spec/locaweb-emailmarketing/clients/base_client_spec.rb
154
+ - spec/locaweb-emailmarketing/clients/campaign_client_spec.rb
155
+ - spec/locaweb-emailmarketing/clients/contact_client_spec.rb
156
+ - spec/locaweb-emailmarketing/clients/contact_import_client_spec.rb
157
+ - spec/locaweb-emailmarketing/clients/custom_field_client_spec.rb
158
+ - spec/locaweb-emailmarketing/clients/domains_client_spec.rb
159
+ - spec/locaweb-emailmarketing/clients/list_client_spec.rb
160
+ - spec/locaweb-emailmarketing/clients/message_client_spec.rb
161
+ - spec/locaweb-emailmarketing/clients/report_client_spec.rb
162
+ - spec/locaweb-emailmarketing/clients/sender_client_spec.rb
163
+ - spec/locaweb-emailmarketing/clients/template_client_spec.rb
164
+ - spec/locaweb-emailmarketing/clients/unsubscribe_reason_client_spec.rb
165
+ - spec/locaweb-emailmarketing/lib/hash_spec.rb
166
+ - spec/spec_helper.rb
167
+ - spec/support/base_client_examples.rb
168
+ homepage: https://github.com/fabioperrella/locaweb-emailmarketing
169
+ licenses: []
170
+ post_install_message:
171
+ rdoc_options: []
172
+ require_paths:
173
+ - lib
174
+ required_ruby_version: !ruby/object:Gem::Requirement
175
+ none: false
176
+ requirements:
177
+ - - ! '>='
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ required_rubygems_version: !ruby/object:Gem::Requirement
181
+ none: false
182
+ requirements:
183
+ - - ! '>='
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ requirements: []
187
+ rubyforge_project: locaweb-emailmarketing
188
+ rubygems_version: 1.8.17
189
+ signing_key:
190
+ specification_version: 3
191
+ summary: APIs for Locaweb EmailMarketing http://emailmarketing.locaweb.com.br/trial
192
+ test_files: []
193
+ has_rdoc: