prawn-disable_word_break 2.1.0 → 2.3.0

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: 62bd33bf26599cc230f633d631c00a21a0268ac4ccbde4b50c2a7e32598824eb
4
- data.tar.gz: eb787813d173984a74cc1902e4a2991a1ba3780910636eccd902aa8785abb70e
3
+ metadata.gz: 0ea1ad1bbcf83c99a1fb6f05a484f892700fa89ab49062295980e5c5aa4880b1
4
+ data.tar.gz: 8176b2596ac86a88f501afb75f86c21b5921962f287f3114ec42ddac04d18f93
5
5
  SHA512:
6
- metadata.gz: ff21289a2839522110a0a4dbaeb0679844d90367149858266646723ee76e4de21e56fb7afea52e75488bfea7c575893b8cc738de337e213a76bd6305e4715df0
7
- data.tar.gz: 1e688f6d3fed0f0e7b760c1745664f496be3ce6ac0a7e12c474727a5ff16b26fdb654b8854fc5e0baa5690fe64a8b4d3930e21f4617032cfd8213d2c4982e6c7
6
+ metadata.gz: 2fee79aa17f0d4e96bc4791a472a3ddf5fa01babcfd258093d9aa574dd8d3de6317a3b9e08dce4d88e6bbc26cb51e2880e6132fa017588568e1608aa17d7d99f
7
+ data.tar.gz: 044623aa23ec015bba0487cebf92e9829c036b61f2fa048210f467af92c55d04a0bed3888f9d8eee9564e37a1d359f219a718e64b90067057a171b9f9783ea78
@@ -1,10 +1,14 @@
1
1
  name: Test
2
2
 
3
- on: [push, pull_request]
3
+ on:
4
+ push:
5
+ branches: [ main, dev ]
6
+ pull_request:
4
7
 
5
8
  jobs:
6
9
  test:
7
- name: Test on ruby ${{ matrix.ruby_version }} and ${{ matrix.prawn_version }}
10
+ name: Ruby ${{ matrix.ruby_version }}
11
+
8
12
  runs-on: ubuntu-latest
9
13
  strategy:
10
14
  matrix:
@@ -12,12 +16,6 @@ jobs:
12
16
  - '3.0'
13
17
  - '3.1'
14
18
  - '3.2'
15
- prawn_version:
16
- - '2.3'
17
- - '2.4'
18
- exclude:
19
- - ruby_version: '3.0'
20
- prawn_version: '2.3'
21
19
 
22
20
  steps:
23
21
  - uses: actions/checkout@v4
@@ -26,8 +24,7 @@ jobs:
26
24
  with:
27
25
  diff-pdf-version: '0.5'
28
26
 
29
- - name: Set up Ruby ${{ matrix.ruby_version }}
30
- uses: ruby/setup-ruby@v1
27
+ - uses: ruby/setup-ruby@v1
31
28
  with:
32
29
  ruby-version: ${{ matrix.ruby_version }}
33
30
  bundler-cache: true
data/README.md CHANGED
@@ -1,9 +1,9 @@
1
1
  # Prawn::DisableWordBreak
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/prawn-disable_word_break.svg)](https://badge.fury.io/rb/prawn-disable_word_break)
4
- [![Test](https://github.com/hidakatsuya/prawn-disable_word_break/workflows/Test/badge.svg?branch=master)](https://github.com/hidakatsuya/prawn-disable_word_break/actions)
4
+ [![Test](https://github.com/hidakatsuya/prawn-disable_word_break/actions/workflows/test.yml/badge.svg)](https://github.com/hidakatsuya/prawn-disable_word_break/actions/workflows/test.yml)
5
5
 
6
- Prawn::DisableWordBreak is an extension that disables word-breaking by character such as space and hyphen to [Prawn](https://github.com/prawnpdf/prawn).
6
+ Prawn::DisableWordBreak is an extension to [Prawn](https://github.com/prawnpdf/prawn) that provides an option to disable line breaking on characters such as spaces and hyphens.
7
7
 
8
8
  ![](https://raw.githubusercontent.com/hidakatsuya/prawn-disable_word_break/master/doc/comparison-of-word-breaking.png)
9
9
 
@@ -14,7 +14,7 @@ See [feature test](test/features/text_line_wrapping_test.rb) for details.
14
14
  Add this line to your application's Gemfile:
15
15
 
16
16
  ```ruby
17
- gem 'prawn-disable_word_break', require: false
17
+ gem 'prawn-disable_word_break'
18
18
  ```
19
19
 
20
20
  And then execute:
@@ -31,6 +31,27 @@ Or install it yourself as:
31
31
  require 'prawn/disable_word_break'
32
32
  ```
33
33
 
34
+ Or, you can set it for each method such as `text_box`.
35
+
36
+ ```ruby
37
+ # Disable the default setting.
38
+ Prawn::DisableWordBreak.config.default = false
39
+ ```
40
+
41
+ ```ruby
42
+ Prawn::Document.generate "prawn.pdf" do
43
+ text_box "text",
44
+ at: [0, cursor], width: 150, height: 50, disable_word_break: true
45
+
46
+ formatted_text_box [{ text: "text" }],
47
+ at: [0, cursor], width: 150, height: 50, disable_word_break: true
48
+
49
+ bounding_box [0, cursor], width: 150, height: 50 do
50
+ text "text", disable_word_break: true
51
+ end
52
+ end
53
+ ```
54
+
34
55
  ## Supported Versions
35
56
 
36
57
  ### Ruby
@@ -39,7 +60,7 @@ require 'prawn/disable_word_break'
39
60
 
40
61
  ### Prawn
41
62
 
42
- 2.3, 2.4
63
+ 2.4
43
64
 
44
65
  ## Development
45
66
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Prawn
4
4
  module DisableWordBreak
5
- class LineWrap < Text::Formatted::LineWrap
5
+ class LineBreakAnywhere < Text::Formatted::LineWrap
6
6
  private
7
7
 
8
8
  # Override
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Prawn
4
4
  module DisableWordBreak
5
- VERSION = '2.1.0'
5
+ VERSION = '2.3.0'
6
6
  end
7
7
  end
@@ -1,14 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'line_wrap'
3
+ require_relative 'line_break_anywhere'
4
4
 
5
5
  module Prawn
6
6
  module DisableWordBreak
7
7
  module Wrap
8
8
  # override
9
- def wrap(*)
10
- @line_wrap = DisableWordBreak::LineWrap.new
9
+ def initialize(_, options)
11
10
  super
11
+
12
+ @line_wrap = LineBreakAnywhere.new if DisableWordBreak.config.default || options[:disable_word_break]
13
+ end
14
+
15
+ # override
16
+ def valid_options
17
+ super + %i(disable_word_break)
12
18
  end
13
19
  end
14
20
  end
@@ -1,9 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'prawn'
4
+ require 'forwardable'
4
5
 
5
6
  require_relative 'disable_word_break/version'
6
7
  require_relative 'disable_word_break/wrap'
7
8
 
8
- Prawn::Text::Box.extensions << Prawn::DisableWordBreak::Wrap
9
- Prawn::Text::Formatted::Box.extensions << Prawn::DisableWordBreak::Wrap
9
+ module Prawn
10
+ module DisableWordBreak
11
+ extend Forwardable
12
+
13
+ Config = Struct.new(
14
+ # Sets the default value for the disable_word_break option. Default is false.
15
+ :default,
16
+
17
+ keyword_init: true
18
+ )
19
+
20
+ def self.config
21
+ @config ||= Config.new(default: false)
22
+ end
23
+ end
24
+ end
25
+
26
+ Prawn::DisableWordBreak::Wrap.tap do |mod|
27
+ Prawn::Text::Formatted::Wrap.prepend(mod) unless Prawn::Text::Formatted::Wrap.include?(mod)
28
+ end
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  end
18
18
  spec.require_paths = ['lib']
19
19
 
20
- spec.add_dependency 'prawn', '~> 2.3'
20
+ spec.add_dependency 'prawn', '>= 2.4.0'
21
21
  spec.add_runtime_dependency 'matrix', '~> 0.4'
22
22
 
23
23
  spec.add_development_dependency 'rake', '>= 0'
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prawn-disable_word_break
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katsuya Hidaka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-10 00:00:00.000000000 Z
11
+ date: 2023-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prawn
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.3'
19
+ version: 2.4.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '2.3'
26
+ version: 2.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: matrix
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -111,7 +111,7 @@ files:
111
111
  - Rakefile
112
112
  - doc/comparison-of-word-breaking.png
113
113
  - lib/prawn/disable_word_break.rb
114
- - lib/prawn/disable_word_break/line_wrap.rb
114
+ - lib/prawn/disable_word_break/line_break_anywhere.rb
115
115
  - lib/prawn/disable_word_break/version.rb
116
116
  - lib/prawn/disable_word_break/wrap.rb
117
117
  - prawn-disable_word_break.gemspec