trusender 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 93410cb7b56f2f804925da8dfc515f29a4802f71
4
+ data.tar.gz: 5cb7896290a01c869a57752d27ef70d4cf1a2f61
5
+ SHA512:
6
+ metadata.gz: 6e2730a8aa27901bc7b5cab086ef3e023a37b54f1cc44d7e4b4c03b174e8ed0d26241a4ff5cc0d69a399e6977c46ecffbb80e1225bfffe8139d35bbcf2ebe559
7
+ data.tar.gz: ee66747a55a59f45542dd61ea03527f4030e60be3155c03b93e6a48450e2fae4272b117cc3cf63c84fd066134e0ac476efdadc467de2daf7560de727b3fe6bbe
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << 'test'
5
+ end
6
+
7
+ desc "Run tests"
8
+ task :default => :test
data/bin/trusender ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'trusender'
4
+ puts TruSender.hi(ARGV[0])
data/lib/trusender.rb ADDED
@@ -0,0 +1,25 @@
1
+ class TruSender
2
+ def self.send_email(auth_token, template_name, to_address, data_mapping)
3
+ client = Client.new
4
+ post_data = {
5
+ auth_token: auth_token,
6
+ template_name: template_name,
7
+ to_address: to_address,
8
+ data_mapping: data_mapping
9
+ }
10
+ client.send("/sendEmail", post_data)
11
+ end
12
+
13
+ def self.send_event(auth_token, email, name, properties)
14
+ client = Client.new
15
+ post_data = {
16
+ auth_token: auth_token,
17
+ email: email,
18
+ name: name,
19
+ properties: properties
20
+ }
21
+ client.send("/sendEvent", post_data)
22
+ end
23
+ end
24
+
25
+ require 'trusender/client'
@@ -0,0 +1,38 @@
1
+ class TruSender::Client
2
+ require 'net/http'
3
+ require 'net/https'
4
+ require 'uri'
5
+ require 'json'
6
+
7
+ def initialize
8
+ @host = "https://api.trusender.com/v1"
9
+ end
10
+
11
+ def send(url, post_data)
12
+ uri = URI.parse(@host + url)
13
+
14
+ https = Net::HTTP.new(uri.host,uri.port)
15
+ https.use_ssl = true
16
+ req = Net::HTTP::Post.new(uri.request_uri)
17
+ req['Accept'] = 'application/json'
18
+ req['Content-Type'] = 'application/json'
19
+ req.body = post_data.to_json
20
+
21
+ response = https.request(req)
22
+
23
+ if response.code.to_i == 200
24
+ response_body = JSON.parse(response.body) rescue nil
25
+ unless response_body.nil?
26
+ if response_body["statusCode"] == 200
27
+ return response_body['body']
28
+ else
29
+ return {success: false, error: response_body["errors"]}
30
+ end
31
+ end
32
+ elsif response.code.to_i == 403
33
+ return {success: false, error: "Invalid Auth Token"}
34
+ else
35
+ return {success: false, error: "Failed!!!"}
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,6 @@
1
+ require 'test/unit'
2
+ require 'trusender'
3
+
4
+ class TruSenderTest < Test::Unit::TestCase
5
+
6
+ end
metadata ADDED
@@ -0,0 +1,48 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: trusender
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ramu
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-01-03 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: TruSender Ruby bindings
14
+ email: bramu.ss@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - Rakefile
20
+ - bin/trusender
21
+ - lib/trusender.rb
22
+ - lib/trusender/client.rb
23
+ - test/test_trusender.rb
24
+ homepage: http://rubygems.org/gems/trusender
25
+ licenses: []
26
+ metadata: {}
27
+ post_install_message:
28
+ rdoc_options: []
29
+ require_paths:
30
+ - lib
31
+ required_ruby_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ requirements: []
42
+ rubyforge_project:
43
+ rubygems_version: 2.6.13
44
+ signing_key:
45
+ specification_version: 3
46
+ summary: TruSender!
47
+ test_files:
48
+ - test/test_trusender.rb