py3o_fusion 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/py3o_fusion.rb +51 -0
  3. metadata +85 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 4f7a8602765d3902f1a9055f5bba59b1264a7f3b16551b755ce3a55adf41ccf3
4
+ data.tar.gz: dbc221231dd0140cbeafb4f060d27f9f11d480e00d2aa5c4ce87c6f8e92d0767
5
+ SHA512:
6
+ metadata.gz: e2a11e046cf93222849c905c05dc337bd4e295fc556f544d69c8d410265bde1c0b0282a510fc8edc223eeb68ba2fcb522f6f81b9c484f3682bab4b934c179de8
7
+ data.tar.gz: 424f8411b0ded02b5157de99b1a61e1ace42d94ebc80139f8d019b463c644c37dbbd67ffa345c1e1a24b6df1c99e5f4492cc325985935312dc0ee3fb7ced79b6
@@ -0,0 +1,51 @@
1
+ require 'httparty'
2
+
3
+ class Py3oFusion
4
+ def initialize(endpoint)
5
+ @endpoint = endpoint
6
+ @payload = {}
7
+ @image_mapping = {}
8
+ end
9
+
10
+ def template(template)
11
+ @payload[:tmpl_file] = File.open(template)
12
+ self
13
+ end
14
+
15
+ def data(data)
16
+ @data = data
17
+ self
18
+ end
19
+
20
+ def static_image(name, file)
21
+ @payload[name.to_sym] = File.open(file)
22
+ @image_mapping[name.to_sym] = "staticimage.#{name}"
23
+ self
24
+ end
25
+
26
+ def generate_pdf(path)
27
+ response = post
28
+ if response.code == 200
29
+ store path, response.body
30
+ else
31
+ raise StandardError.new "Error generating PDF"
32
+ end
33
+ end
34
+
35
+ private
36
+ def payload
37
+ @payload.merge({
38
+ targetformat: "pdf",
39
+ datadict: @data.to_json,
40
+ image_mapping: @image_mapping.to_json
41
+ })
42
+ end
43
+
44
+ def post
45
+ HTTParty.post @endpoint, body: payload
46
+ end
47
+
48
+ def store(path, content)
49
+ File.open(path, 'w') { |file| file.write(content) }
50
+ end
51
+ end
metadata ADDED
@@ -0,0 +1,85 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: py3o_fusion
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Olle Wreede
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-03-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.16.4
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.16.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.8'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.8'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '11.2'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '11.2'
55
+ description:
56
+ email: olle@wreede.se
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - lib/py3o_fusion.rb
62
+ homepage: https://github.com/ollej/py3o_fusion
63
+ licenses:
64
+ - MIT
65
+ metadata: {}
66
+ post_install_message:
67
+ rdoc_options: []
68
+ require_paths:
69
+ - lib
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ requirements: []
81
+ rubygems_version: 3.0.1
82
+ signing_key:
83
+ specification_version: 4
84
+ summary: Generate PDF from ODF via Py3o.Fusion
85
+ test_files: []