sendpulse 0.0.4 → 0.0.5

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