gotenberg 1.0.0 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d984cff5f3354d5dd5ab3a8eb7210fa49532125cf9d8d7ef57a729243d3434aa
4
- data.tar.gz: c1f52733269daac044db7c1930d0b276924484aaa365a2919719fa2e55e70c98
3
+ metadata.gz: 8f53f3f0cd1c87eae43c03fb07bc9bd9096deaa27fe9d6c2cb85f2dbf04f2e24
4
+ data.tar.gz: c79d077d87f6f60513fe293c92442527847fab4fc9c269780375c21b18b098de
5
5
  SHA512:
6
- metadata.gz: 3a86064442da347abc5a5bc1aebdced0921935f545bc300d49ef69ad63c33f86a4f24a129dfc158aec5ffda08a9de331f4bb77fc218017b88e7602e8662bd080
7
- data.tar.gz: ef1dd7bc42f1763bf4b1a1d22c5cf5937cc924db422c56d353dc7c92be48683ea0d531b332ff9cfbf88391e641d0006dec06b2c7c91ddda1ea5d6689c7bfbe5b
6
+ metadata.gz: 5628e26404b94a39b1215be8ef597987493a01a61d9a1bddd28a912bd457bc499f99b25d0b67425bb7daf6b85d8ad37d0a478afcca231863b53631012424895d
7
+ data.tar.gz: '069da1f064e1b24b87d494efda58e2eb80387aae039db6a06067bb2f89db3dd7f6a0764623bb634623dcf5683b4cce7f0b931ae922371afebf3e6711432107ca'
@@ -48,6 +48,7 @@ module Gotenberg
48
48
  # client = Gotenberg::Client.new("http://localhost:3000")
49
49
  # pdf_content = client.html(htmls, asset_paths, properties)
50
50
  #
51
+ # Credit: https://github.com/jbd0101/ruby-gotenberg-client/blob/master/lib/gotenberg.rb
51
52
  def html(htmls, asset_paths, properties = {}) # rubocop:disable Metrics/CyclomaticComplexity
52
53
  raise GotenbergDownError unless up?
53
54
 
@@ -4,7 +4,8 @@ module Gotenberg
4
4
  module Helper # rubocop:disable Style/Documentation
5
5
  class ExtensionMissing < StandardError; end
6
6
 
7
- class PropshaftAsset # rubocop:disable Style/Documentation
7
+ # Credits: https://github.com/mileszs/wicked_pdf/blob/master/lib/wicked_pdf/wicked_pdf_helper/assets.rb
8
+ class PropshaftAsset
8
9
  attr_reader :asset
9
10
 
10
11
  def initialize(asset)
@@ -63,6 +64,11 @@ module Gotenberg
63
64
  end
64
65
  end
65
66
 
67
+ # Returns the base64 encoded content of a static asset.
68
+ #
69
+ # @param asset_name [String] the name of the asset
70
+ # @raise [MissingAsset] if the asset is not found
71
+ # @return [String] the base64 encoded content of the asset
66
72
  def goten_asset_base64(asset_name)
67
73
  asset = find_asset(goten_static_asset_path(asset_name))
68
74
  raise MissingAsset.new(asset_name, "Could not find asset '#{asset_name}'") if asset.nil?
@@ -71,6 +77,11 @@ module Gotenberg
71
77
  "data:#{asset.content_type};base64,#{Rack::Utils.escape(base64)}"
72
78
  end
73
79
 
80
+ # Returns the static path of an asset based on its extension.
81
+ #
82
+ # @param asset_name [String] the name of the asset
83
+ # @raise [ExtensionMissing] if the asset extension is missing
84
+ # @return [String] the static path of the asset
74
85
  def goten_static_asset_path(asset_name)
75
86
  ext = File.extname(asset_name).delete(".")
76
87
 
@@ -86,6 +97,10 @@ module Gotenberg
86
97
  determine_static_path(asset_type, asset_name)
87
98
  end
88
99
 
100
+ # Returns the compiled path of an asset.
101
+ #
102
+ # @param asset_name [String] the name of the asset
103
+ # @return [String] the compiled path of the asset
89
104
  def goten_compiled_asset_path(asset_name)
90
105
  Rails.public_path.to_s +
91
106
  ActionController::Base.helpers.asset_path(asset_name)
@@ -93,6 +108,12 @@ module Gotenberg
93
108
 
94
109
  private
95
110
 
111
+ # Determines and returns the static path of an asset.
112
+ #
113
+ # @param asset_type [String] the type of the asset (e.g., "javascripts", "stylesheets", "images")
114
+ # @param asset_name [String] the name of the asset
115
+ # @raise [MissingAsset] if the asset is not found
116
+ # @return [String] the static path of the asset
96
117
  def determine_static_path(asset_type, asset_name)
97
118
  asset_root = Rails.root.join("app", "assets")
98
119
  path = asset_root.join(asset_type, asset_name)
@@ -107,7 +128,10 @@ module Gotenberg
107
128
  path.to_s
108
129
  end
109
130
 
110
- # Thanks WickedPDF 🙏
131
+ # Finds and returns the asset for the given path.
132
+ #
133
+ # @param path [String] the path of the asset
134
+ # @return [PropshaftAsset, LocalAsset, Sprockets::Asset, nil] the found asset or nil if not found
111
135
  def find_asset(path)
112
136
  if Rails.application.assets.respond_to?(:find_asset)
113
137
  Rails.application.assets.find_asset(path, base_path: Rails.application.root.to_s)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gotenberg
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.2"
5
5
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gotenberg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - bugloper
8
8
  - teknatha136
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-06-17 00:00:00.000000000 Z
12
+ date: 2024-06-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mime-types
@@ -51,16 +51,16 @@ files:
51
51
  - lib/gotenberg/helper.rb
52
52
  - lib/gotenberg/railtie.rb
53
53
  - lib/gotenberg/version.rb
54
- homepage: https://github.com/SELISEdigitalplatforms/l3-ruby-gem-gotenberg
54
+ homepage: https://github.com/SELISEdigitalplatforms/gotenberg
55
55
  licenses:
56
56
  - MIT
57
57
  metadata:
58
58
  allowed_push_host: https://rubygems.org
59
- homepage_uri: https://github.com/SELISEdigitalplatforms/l3-ruby-gem-gotenberg
60
- source_code_uri: https://github.com/SELISEdigitalplatforms/l3-ruby-gem-gotenberg
61
- changelog_uri: https://github.com/SELISEdigitalplatforms/l3-ruby-gem-gotenberg/blob/main/CHANGELOG.md
59
+ homepage_uri: https://github.com/SELISEdigitalplatforms/gotenberg
60
+ source_code_uri: https://github.com/SELISEdigitalplatforms/gotenberg
61
+ changelog_uri: https://github.com/SELISEdigitalplatforms/gotenberg/blob/main/CHANGELOG.md
62
62
  rubygems_mfa_required: 'false'
63
- post_install_message:
63
+ post_install_message:
64
64
  rdoc_options: []
65
65
  require_paths:
66
66
  - lib
@@ -75,8 +75,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
- rubygems_version: 3.5.11
79
- signing_key:
78
+ rubygems_version: 3.4.10
79
+ signing_key:
80
80
  specification_version: 4
81
81
  summary: A simple Ruby client for gotenberg
82
82
  test_files: []