pingen-client 0.1.0 → 0.2.0
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 +4 -4
- data/.semaphore/semaphore.yml +1 -2
- data/Gemfile.lock +1 -1
- data/bin/check +4 -0
- data/lib/pingen/client.rb +6 -46
- data/lib/pingen/documents.rb +48 -0
- data/lib/pingen/sends.rb +24 -0
- data/pingen-client.gemspec +3 -11
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0fa20ad4aed09cdf236b031a30a9dd568841ffa41abb499d3357b70fee5fb3e
|
4
|
+
data.tar.gz: b2ac3124e1a4b8e0f63a9c00d051b339efedaf19b2528b29c7e738812a44d5f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3342d0757a943ddcd98451b6c989c55bf33027cc33114c178d20ae8db4dc9e4ad6f06dcbb5c1310e0b2416b1324ed2e7508092ea599b9d42a8f25865f82f721
|
7
|
+
data.tar.gz: 305840fc5a481901e1fed4af32275dd0102046a55c5bfd9dec85588de3cc7a50f2549104cbe2f63d35b62c4bbdf5c61499da3e85b68dc30b8d1d7ec14aed7ecf
|
data/.semaphore/semaphore.yml
CHANGED
data/Gemfile.lock
CHANGED
data/bin/check
ADDED
data/lib/pingen/client.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require "net/http"
|
2
2
|
require "net/http/post/multipart"
|
3
3
|
require_relative "response"
|
4
|
+
require_relative "documents"
|
5
|
+
require_relative "sends"
|
4
6
|
|
5
7
|
module Pingen
|
6
8
|
class Client
|
@@ -18,48 +20,12 @@ module Pingen
|
|
18
20
|
@logger = logger
|
19
21
|
end
|
20
22
|
|
21
|
-
def
|
22
|
-
|
23
|
+
def documents
|
24
|
+
@documents ||= Documents.new(self)
|
23
25
|
end
|
24
26
|
|
25
|
-
def
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
# send_params:
|
30
|
-
# fast_send: true | false, default: false.
|
31
|
-
# true - A Post
|
32
|
-
# false - B Post
|
33
|
-
# color: true | false, default: false
|
34
|
-
def upload(pdf, send: false, **send_params)
|
35
|
-
data = {send: send}.merge(send ? parse_send_params(send_params) : {})
|
36
|
-
post_multipart_request("/document/upload", pdf, data: data.to_json)
|
37
|
-
end
|
38
|
-
|
39
|
-
def pdf(id)
|
40
|
-
get_request("/document/pdf/id/#{id}")
|
41
|
-
end
|
42
|
-
|
43
|
-
def delete(id)
|
44
|
-
post_request("/document/delete/id/#{id}", {})
|
45
|
-
end
|
46
|
-
|
47
|
-
# send_params:
|
48
|
-
# fast_send: true | false, default: false.
|
49
|
-
# true - A Post
|
50
|
-
# false - B Post
|
51
|
-
# color: true | false, default: false
|
52
|
-
def schedule_send(id, **send_params)
|
53
|
-
post_request("/document/send/id/#{id}", parse_send_params(send_params))
|
54
|
-
end
|
55
|
-
|
56
|
-
# allows you to cancel a pending send
|
57
|
-
def cancel_send(send_id)
|
58
|
-
get_request("/send/cancel/id/#{send_id}")
|
59
|
-
end
|
60
|
-
|
61
|
-
def track(send_id)
|
62
|
-
get_request("/send/track/id/#{send_id}")
|
27
|
+
def sends
|
28
|
+
@sends ||= Sends.new(self)
|
63
29
|
end
|
64
30
|
|
65
31
|
def get_request(path, params = nil, request_params = {})
|
@@ -127,11 +93,5 @@ module Pingen
|
|
127
93
|
request["Content-Type"] = "application/json"
|
128
94
|
request["Accept"] = "application/json"
|
129
95
|
end
|
130
|
-
|
131
|
-
private
|
132
|
-
|
133
|
-
def parse_send_params(**params)
|
134
|
-
{color: params[:color] ? 1 : 0, speed: params[:fast_send] ? 1 : 2}
|
135
|
-
end
|
136
96
|
end
|
137
97
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Pingen
|
2
|
+
class Documents
|
3
|
+
def initialize(client = Client.new)
|
4
|
+
@client = client
|
5
|
+
end
|
6
|
+
|
7
|
+
def list
|
8
|
+
@client.get_request("/document/list")
|
9
|
+
end
|
10
|
+
|
11
|
+
def get(id)
|
12
|
+
@client.get_request("/document/get/id/#{id}")
|
13
|
+
end
|
14
|
+
|
15
|
+
# send_params:
|
16
|
+
# fast_send: true | false, default: false.
|
17
|
+
# true - A Post
|
18
|
+
# false - B Post
|
19
|
+
# color: true | false, default: false
|
20
|
+
def upload(pdf, send: false, **send_params)
|
21
|
+
data = {send: send}.merge(send ? parse_send_params(send_params) : {})
|
22
|
+
@client.post_multipart_request("/document/upload", pdf, data: data.to_json)
|
23
|
+
end
|
24
|
+
|
25
|
+
# send_params:
|
26
|
+
# fast_send: true | false, default: false.
|
27
|
+
# true - A Post
|
28
|
+
# false - B Post
|
29
|
+
# color: true | false, default: false
|
30
|
+
def send(id, **send_params)
|
31
|
+
@client.post_request("/document/send/id/#{id}", parse_send_params(send_params))
|
32
|
+
end
|
33
|
+
|
34
|
+
def pdf(id)
|
35
|
+
@client.get_request("/document/pdf/id/#{id}")
|
36
|
+
end
|
37
|
+
|
38
|
+
def delete(id)
|
39
|
+
@client.post_request("/document/delete/id/#{id}", {})
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def parse_send_params(**params)
|
45
|
+
{color: params[:color] ? 1 : 0, speed: params[:fast_send] ? 1 : 2}
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/lib/pingen/sends.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
module Pingen
|
2
|
+
class Sends
|
3
|
+
def initialize(client = Client.new)
|
4
|
+
@client = client
|
5
|
+
end
|
6
|
+
|
7
|
+
def list
|
8
|
+
@client.get_request("/send/list")
|
9
|
+
end
|
10
|
+
|
11
|
+
def get(id)
|
12
|
+
@client.get_request("/send/get/id/#{id}")
|
13
|
+
end
|
14
|
+
|
15
|
+
# allows you to cancel a pending send
|
16
|
+
def cancel(id)
|
17
|
+
@client.get_request("/send/cancel/id/#{id}")
|
18
|
+
end
|
19
|
+
|
20
|
+
def track(id)
|
21
|
+
@client.get_request("/send/track/id/#{id}")
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/pingen-client.gemspec
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "pingen-client"
|
5
|
-
spec.version = "0.
|
6
|
-
spec.authors = ["Martin Cavoj"]
|
7
|
-
spec.email = ["
|
5
|
+
spec.version = "0.2.0"
|
6
|
+
spec.authors = ["Martin Cavoj", "Alessandro Rodi"]
|
7
|
+
spec.email = ["alessandro.rodi@renuo.ch"]
|
8
8
|
|
9
9
|
spec.summary = "Invoke Pingen API easily with Ruby"
|
10
10
|
spec.description = "This gem allows you to connect to Pingen API and use the services provided"
|
@@ -16,18 +16,10 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.metadata["source_code_uri"] = "https://github.com/renuo/pingen-client"
|
17
17
|
spec.metadata["changelog_uri"] = "https://github.com/renuo/pingen-client/CHANGELOG.md"
|
18
18
|
|
19
|
-
# Specify which files should be added to the gem when it is released.
|
20
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
21
19
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
22
20
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
|
23
21
|
end
|
24
22
|
spec.bindir = "exe"
|
25
23
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
26
24
|
spec.require_paths = ["lib"]
|
27
|
-
|
28
|
-
# Uncomment to register a new dependency of your gem
|
29
|
-
# spec.add_dependency "example-gem", "~> 1.0"
|
30
|
-
|
31
|
-
# For more information and examples about making a new gem, checkout our
|
32
|
-
# guide at: https://bundler.io/guides/creating_gem.html
|
33
25
|
end
|
metadata
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pingen-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Cavoj
|
8
|
+
- Alessandro Rodi
|
8
9
|
autorequire:
|
9
10
|
bindir: exe
|
10
11
|
cert_chain: []
|
11
|
-
date: 2021-
|
12
|
+
date: 2021-09-20 00:00:00.000000000 Z
|
12
13
|
dependencies: []
|
13
14
|
description: This gem allows you to connect to Pingen API and use the services provided
|
14
15
|
email:
|
15
|
-
-
|
16
|
+
- alessandro.rodi@renuo.ch
|
16
17
|
executables: []
|
17
18
|
extensions: []
|
18
19
|
extra_rdoc_files: []
|
@@ -27,10 +28,13 @@ files:
|
|
27
28
|
- LICENSE.txt
|
28
29
|
- README.md
|
29
30
|
- Rakefile
|
31
|
+
- bin/check
|
30
32
|
- bin/console
|
31
33
|
- bin/setup
|
32
34
|
- lib/pingen/client.rb
|
35
|
+
- lib/pingen/documents.rb
|
33
36
|
- lib/pingen/response.rb
|
37
|
+
- lib/pingen/sends.rb
|
34
38
|
- pingen-client.gemspec
|
35
39
|
homepage: https://github.com/renuo/pingen-client
|
36
40
|
licenses:
|