sendpulse 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bdd3419df041ca691f66b0079cb163e7d2e22154
4
- data.tar.gz: d82ac8e49f0d8b1bbde5c7c47636c50f1e96c46d
3
+ metadata.gz: 5432cd7ae80c558464c8a385e324dcc0db56b60e
4
+ data.tar.gz: 74fe10b9f0a595f2f7fab6df424f6dad403d1ea3
5
5
  SHA512:
6
- metadata.gz: 483017ffb051c6135e654db121d29b5dd5618a89271f15a0581f8d0e73531c80bea0762ebf58cbae04713f0a4c9f07db2c19ad11df4566fdf343a6e632894c7f
7
- data.tar.gz: 4ad4d39e5e2b1434a15273a0d1b60511130c79ba8e193d352552de95f101c79c526555b9800c073fc47420c83af5272c254370a57a1893ab921afd6ffd75bee0
6
+ metadata.gz: 176a36cf8c5910e65da5a0ac2161c1eccabdb2b48d37c7f505f3bca9153ec0d328975d86b3967e4e2791f331618f863787f9501d340378d60a52799f744fd929
7
+ data.tar.gz: b63b3989606a7d77345f65955b2af77e2409fcb97cc507da8e7bb1bebad8e417c57271d595e6edb126959eb980a3fdf6408376ff98a686a2edb5906099557ca7
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sendpulse (0.0.3)
4
+ sendpulse (0.0.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -11,6 +11,9 @@ GEM
11
11
  faker (1.7.3)
12
12
  i18n (~> 0.5)
13
13
  i18n (0.8.1)
14
+ mini_portile2 (2.1.0)
15
+ nokogiri (1.7.2)
16
+ mini_portile2 (~> 2.1.0)
14
17
  rake (10.5.0)
15
18
  rspec (3.5.0)
16
19
  rspec-core (~> 3.5.0)
@@ -25,17 +28,20 @@ GEM
25
28
  diff-lcs (>= 1.2.0, < 2.0)
26
29
  rspec-support (~> 3.5.0)
27
30
  rspec-support (3.5.0)
31
+ tempmailru (0.0.1)
28
32
 
29
33
  PLATFORMS
30
34
  ruby
31
35
 
32
36
  DEPENDENCIES
33
37
  bundler (~> 1.7)
34
- dotenv (~> 2.1.1)
35
- faker (~> 1.7.3)
38
+ dotenv (~> 2.1)
39
+ faker (~> 1.7)
40
+ nokogiri (~> 1.7)
36
41
  rake (~> 10.0)
37
42
  rspec (~> 3.2)
38
43
  sendpulse!
44
+ tempmailru (~> 0.0.1)
39
45
 
40
46
  BUNDLED WITH
41
47
  1.14.6
@@ -21,6 +21,8 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency 'bundler', '~> 1.7'
22
22
  spec.add_development_dependency 'rake', '~> 10.0'
23
23
  spec.add_development_dependency 'rspec', '~> 3.2'
24
- spec.add_development_dependency 'dotenv', '~> 2.1.1'
25
- spec.add_development_dependency 'faker', '~> 1.7.3'
24
+ spec.add_development_dependency 'dotenv', '~> 2.1'
25
+ spec.add_development_dependency 'faker', '~> 1.7'
26
+ spec.add_development_dependency 'tempmailru', '~> 0.0.1'
27
+ spec.add_development_dependency 'nokogiri', '~> 1.7'
26
28
  end
@@ -0,0 +1,31 @@
1
+ require 'sendpulse/api'
2
+
3
+ module SendPulse
4
+ module EmailService
5
+ class Sender < SendPulse::Api
6
+ def list
7
+ send_request(path_name, 'GET')
8
+ end
9
+
10
+ def create(params)
11
+ send_request(path_name, 'POST', params)
12
+ end
13
+
14
+ def delete(email)
15
+ send_request(path_name, 'DELETE', { email: email })
16
+ end
17
+
18
+ def get_activate_code(email)
19
+ send_request("#{path_name}/#{email}/code", 'GET')
20
+ end
21
+
22
+ def activate(params)
23
+ send_request("#{path_name}/#{params[:email]}/code", 'POST', { code: params[:code] })
24
+ end
25
+
26
+ def path_name
27
+ "senders"
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,3 +1,3 @@
1
1
  module SendPulse
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+ require 'faker'
3
+ require 'tempmailru/api'
4
+ require 'nokogiri'
5
+
6
+ describe SendPulse::EmailService::Sender do
7
+ before(:each) do
8
+ @client_id = ENV['CLIENT_ID']
9
+ @client_secret = ENV['CLIENT_SECRET']
10
+ @sendpulse_sender = described_class.new(@client_id, @client_secret, "https", nil)
11
+ end
12
+
13
+ context "Sender wrapper" do
14
+ describe "List" do
15
+ it do
16
+ data = @sendpulse_sender.list[:data]
17
+ expect(data).to be_a_kind_of(Array)
18
+ end
19
+ end
20
+
21
+ describe "Create / Delete / Activating" do
22
+ it do
23
+ expected_result = {:data=>{"error_code"=>903, "message"=>"Empty sender email"}, :http_code=>"400", :is_error=>true}
24
+ expect(@sendpulse_sender.create({})).to eql(expected_result)
25
+ end
26
+
27
+ it do
28
+ tempmailru_api = TempMailRu::Api.new(nil, "http")
29
+ email = "test#{tempmailru_api.domains[0]}"
30
+ name = Faker::Name.name
31
+ params = {
32
+ email: email,
33
+ name: name
34
+ }
35
+ expected_result = {:data=>{"result"=>true}, :http_code=>"200"}
36
+ expect(@sendpulse_sender.create(params)).to eql(expected_result)
37
+ expected_result = {:data=>{"result"=>true, "email"=>"test@binka.me"}, :http_code=>"200"}
38
+ expect(@sendpulse_sender.get_activate_code(email)).to eql(expected_result)
39
+ sleep 1
40
+ tempmailru_api.email = email
41
+ doc = Nokogiri::HTML(tempmailru_api.inbox[-1][:mail_text_only])
42
+ doc_css_strong = doc.css('strong')[1]
43
+ code = doc_css_strong.to_s[8..-10]
44
+ params = {
45
+ email: email,
46
+ code: code
47
+ }
48
+ expected_result = {:data=>{"result"=>true, "email"=>"test@binka.me"}, :http_code=>"200"}
49
+ expect(@sendpulse_sender.activate(params)).to eql(expected_result)
50
+ list = @sendpulse_sender.list
51
+ expect(list[:data].select { |d| d["email"] == email }[0]["status"]).to eql "Active"
52
+ expected_result = {:data=>{"result"=>true}, :http_code=>"200"}
53
+ expect(@sendpulse_sender.delete(email)).to eql(expected_result)
54
+ end
55
+ end
56
+ end
57
+ end
@@ -6,3 +6,4 @@ Dotenv.load
6
6
  require 'sendpulse/api'
7
7
  require 'sendpulse/smtp_service'
8
8
  require 'sendpulse/email_service/mailing_list'
9
+ require 'sendpulse/email_service/sender'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sendpulse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoga Hapriana
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-13 00:00:00.000000000 Z
11
+ date: 2017-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,28 +58,56 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.1.1
61
+ version: '2.1'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 2.1.1
68
+ version: '2.1'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: faker
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.7.3
75
+ version: '1.7'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.7'
83
+ - !ruby/object:Gem::Dependency
84
+ name: tempmailru
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.0.1
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: 1.7.3
96
+ version: 0.0.1
97
+ - !ruby/object:Gem::Dependency
98
+ name: nokogiri
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.7'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.7'
83
111
  description: Ruby client to http://sendpulse.com/ API
84
112
  email:
85
113
  - thenelse@rocketmail.com
@@ -97,11 +125,13 @@ files:
97
125
  - SendPulse.gemspec
98
126
  - lib/sendpulse/api.rb
99
127
  - lib/sendpulse/email_service/mailing_list.rb
128
+ - lib/sendpulse/email_service/sender.rb
100
129
  - lib/sendpulse/host.rb
101
130
  - lib/sendpulse/smtp_service.rb
102
131
  - lib/sendpulse/version.rb
103
132
  - spec/lib/sendpulse/api_spec.rb
104
133
  - spec/lib/sendpulse/email_service/mailing_list_spec.rb
134
+ - spec/lib/sendpulse/email_service/sender_spec.rb
105
135
  - spec/lib/sendpulse/smtp_service_spec.rb
106
136
  - spec/spec_helper.rb
107
137
  homepage: https://github.com/yogahp/SendPulse
@@ -131,5 +161,6 @@ summary: Client to http://sendpulse.com/ API.
131
161
  test_files:
132
162
  - spec/lib/sendpulse/api_spec.rb
133
163
  - spec/lib/sendpulse/email_service/mailing_list_spec.rb
164
+ - spec/lib/sendpulse/email_service/sender_spec.rb
134
165
  - spec/lib/sendpulse/smtp_service_spec.rb
135
166
  - spec/spec_helper.rb