fontist 3.0.4 → 3.0.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b2847a2098f7dc8ca7652bf08d8e01d5f2a0e826230631bbba3d7cc01831933
4
- data.tar.gz: 777c69708edc12acfaee0f01d492e9c3eb573822e428da489726fed8a52e4ac7
3
+ metadata.gz: 901ef91ebd6bdc2f41e97ecad10c4fe2e752f9b5dff6faa2d75a8d9065bea478
4
+ data.tar.gz: b793fbea7abd2f98fb8334682238b7e8f34168b69509a3641196799bf1b171b0
5
5
  SHA512:
6
- metadata.gz: da58a8c87b799c5db8241c5e951b26bd17a2e17d8bea327a4c479de1679c40feb6272bdc71a024e0fad6e4dd16743278e57a370c9d6ef021784a07968d6814a6
7
- data.tar.gz: 22bb4499aa794f0534f850932df74aca65724e7019760fb7f6517233d1290cb2f5c2d3697e6046288acde4d21cb128b787f1d153aaaf50e1791c81a272d60b64
6
+ metadata.gz: a3e4427e15dd34aecfb531bc1a25e980351c24d32515f58723b731ff0fa11467d450c3ef24feaf1661b23d5035147758d9cead9828c2a468e23ecc2230afa0bc
7
+ data.tar.gz: 8e0e6912a1bf8c3cd07d0c4f7c2699450c0e5b324c65f82392a74e5c5d60147f764996eb18caf079fea5707bac10cc66398f32e510405ee2d531127d17be14f3
data/lib/fontist/font.rb CHANGED
@@ -4,7 +4,7 @@ module Fontist
4
4
  class Font
5
5
  def initialize(options = {})
6
6
  @name = options[:name]
7
- @confirmation = options[:confirmation] || "no"
7
+ @confirmation = options[:confirmation]
8
8
  @hide_licenses = options[:hide_licenses]
9
9
  @no_progress = options[:no_progress] || false
10
10
  @force = options[:force] || false
@@ -270,7 +270,14 @@ module Fontist
270
270
  return @confirmation if formula.licensed_for_current_platform?
271
271
 
272
272
  show_license(formula) unless @hide_licenses
273
- return @confirmation if @confirmation.casecmp?("yes")
273
+ return @confirmation if @confirmation&.casecmp?("yes")
274
+
275
+ # Explicit rejection: raise immediately without interactive prompt
276
+ if @confirmation&.casecmp?("no")
277
+ raise Fontist::Errors::LicensingError.new(
278
+ "Fontist will not download these fonts unless you accept the terms.",
279
+ )
280
+ end
274
281
 
275
282
  confirmation = ask_for_agreement
276
283
  if confirmation&.casecmp?("yes")
@@ -33,15 +33,9 @@ module Fontist
33
33
  def style_paths(locations: false)
34
34
  ary = Array(styles)
35
35
  (ary.empty? ? [nil] : ary).flat_map do |style|
36
- paths = find_font_with_name(name, style)
37
-
38
- if paths.nil? && locations
39
- try_install_missing_font
40
- paths = find_font_with_name(name, style)
41
- raise Errors::MissingFontError.new(name, style) if paths.nil?
36
+ find_font_with_name(name, style).tap do |x|
37
+ raise Errors::MissingFontError.new(name, style) if x.nil? && locations
42
38
  end
43
-
44
- paths
45
39
  end.compact
46
40
  end
47
41
 
@@ -102,27 +96,6 @@ module Fontist
102
96
 
103
97
  private
104
98
 
105
- def try_install_missing_font
106
- Fontist.ui.debug("self-healing install attempt for #{name.inspect}")
107
- Fontist::Font.install(
108
- name,
109
- force: true,
110
- confirmation: "no",
111
- no_progress: true,
112
- hide_licenses: true,
113
- format_spec: format_spec,
114
- )
115
- rescue Fontist::Errors::FontError,
116
- Fontist::Errors::LicensingError,
117
- Fontist::Errors::PlatformMismatchError,
118
- Fontist::Errors::FormulaIndexNotFoundError => e
119
- Fontist.ui.debug(
120
- "self-healing install for #{name.inspect} " \
121
- "failed: #{e.class}: #{e.message}",
122
- )
123
- nil
124
- end
125
-
126
99
  def validate_location_parameter!(location)
127
100
  return unless location
128
101
  return if location.is_a?(Symbol)
@@ -1,3 +1,3 @@
1
1
  module Fontist
2
- VERSION = "3.0.4".freeze
2
+ VERSION = "3.0.6".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fontist
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.4
4
+ version: 3.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-05-15 00:00:00.000000000 Z
11
+ date: 2026-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: down