skipio_api 0.0.3

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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/skipio.rb +50 -0
  3. metadata +73 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 69e2f0c1d623d7ac53049632579fc8a0a6d253a0
4
+ data.tar.gz: 300d525ab1673ad1458c7fd970a5ad84339769e0
5
+ SHA512:
6
+ metadata.gz: 8bf067fcd54df8b669fa352731e68bf83abee629e68789634f604edf1e7cd3d35f6f9253963265e42c644f1d30ac07bb26a243e955e8cc1f5f5c005bfcceefd8
7
+ data.tar.gz: dd5f236a7876b58eb212cbcf6da967aa6755033c06018490e835dc512f552f1a47d9ae6d55cd05483c5879e23578d3b415620d347753523839ee56861e837933
data/lib/skipio.rb ADDED
@@ -0,0 +1,50 @@
1
+ require 'uri'
2
+ require 'json'
3
+ require 'net/http'
4
+ require "addressable/uri"
5
+ require 'open-uri'
6
+
7
+ class Skipio
8
+ API_SERVER = 'https://stage.skipio.com'
9
+
10
+ def initialize(options)
11
+ @token = options[:token]
12
+ @params = options[:params]
13
+ end
14
+
15
+ def contact_list
16
+ page_parameters = @params || { page: 1, per: 10 }
17
+ url = "#{API_SERVER}/api/v2/contacts?token=#{@token}&#{request_parameters(page_parameters)}"
18
+ uri = URI(url)
19
+ response = Net::HTTP.get(uri)
20
+ JSON.parse(response)
21
+ end
22
+
23
+ def send_message
24
+ uri = URI.parse("#{API_SERVER}/api/v2/messages?token=#{@token}")
25
+ json_data = build_json_message_data
26
+ http = Net::HTTP.new(uri.host, uri.port)
27
+ http.use_ssl = true
28
+ request = Net::HTTP::Post.new(uri.request_uri, {'Content-Type' => 'application/json'})
29
+ request.set_form_data(JSON.parse(json_data.to_json))
30
+ response = http.request(request)
31
+ JSON.parse(response.body)
32
+ end
33
+
34
+ def request_parameters(request_parameters)
35
+ uri = Addressable::URI.new
36
+ uri.query_values = request_parameters
37
+ uri.query
38
+ end
39
+
40
+ def build_json_message_data
41
+ {
42
+ "recipients": [
43
+ @params[:recipients]
44
+ ],
45
+ "message": {
46
+ "body": @params[:message]
47
+ }
48
+ }
49
+ end
50
+ end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: skipio_api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - Psalmuel Aguilar
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-09-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: addressable
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: API Communication for Skipio
42
+ email:
43
+ - psalmuelaguilar@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - lib/skipio.rb
49
+ homepage:
50
+ licenses:
51
+ - MIT
52
+ metadata: {}
53
+ post_install_message:
54
+ rdoc_options: []
55
+ require_paths:
56
+ - lib
57
+ required_ruby_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ requirements: []
68
+ rubyforge_project:
69
+ rubygems_version: 2.6.11
70
+ signing_key:
71
+ specification_version: 4
72
+ summary: Skipio Api
73
+ test_files: []