rqrcode 2.1.2 → 3.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7f00d7af65a23ac1eeebda231f79607353d52c8b6b83072b53642fbcf5c4b88
4
- data.tar.gz: a7cc3db7028ab710f6b325cbd76a91db4da23b889f65252f1faa99cfc319512f
3
+ metadata.gz: 8b36678dab893b7737a87335397f977752eb01a3b935e8ac8a0025163d9fb4b7
4
+ data.tar.gz: 9938a0bf2f27ab46db54bf5d6171b3c52bbbd0e650f13bbe5d692ee769f08e88
5
5
  SHA512:
6
- metadata.gz: 328a1114929797f4a47e0101055afe1e73f7fc9b015ca8435069aecdecff29699f9c694e158bca0aff52003b8b0cb8072a1296fee48a93bea00c55a1d0c565ba
7
- data.tar.gz: e6b0bbdc6e99265e6d9b00260bb55a4c92669cadff5720d93fca5d2f450002d3f885772377eeb8191468853b17fde9c834db6d27aafd20609b3dd2c95c4ec958
6
+ metadata.gz: 4effb47e47d8d89935fb07957960b5ec6fddcefbe8259b03311b62b6721bdb1838227c1066745fd564a70faab521598a932cf1a6acea2470957458d4415737ff
7
+ data.tar.gz: a0d482a08eb97e2b5347a248a9ee52daa840d295e04b5d4c4b5c7e6618a6b4e0a3bba6e39f228a77e56048236f87fc76dcd6b49942cbae2a00dc904317af55ee
@@ -0,0 +1,4 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: whomwah
4
+ buy_me_a_coffee: duncanrobertson
@@ -3,10 +3,9 @@ name: rqrcode
3
3
  on:
4
4
  push:
5
5
  branches:
6
- - master
7
- pull_request:
8
- branches:
9
- - master
6
+ - main
7
+ - release
8
+ pull_request: # Runs on any PR regardless of target branch
10
9
 
11
10
  jobs:
12
11
  Build:
@@ -14,15 +13,15 @@ jobs:
14
13
  fail-fast: false
15
14
  matrix:
16
15
  os: [ubuntu-latest, macos-latest]
17
- ruby: [2.5, 2.6, 2.7, '3.0', 3.1]
16
+ ruby: ["3.0", "3.1", "3.2", "3.3", "3.4"]
18
17
  runs-on: ${{ matrix.os }}
19
18
  steps:
20
- - uses: actions/checkout@v2
21
- - uses: ruby/setup-ruby@v1
22
- with:
23
- ruby-version: ${{ matrix.ruby }}
24
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
25
- - name: Run Tests for Ruby ${{ matrix.ruby }} on ${{ matrix.os }}
26
- run: bundle exec rake spec
27
- - name: StandardRB check for Ruby ${{ matrix.ruby }} on ${{ matrix.os }}
28
- run: bundle exec standardrb --format progress
19
+ - uses: actions/checkout@v3
20
+ - uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby }}
23
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
24
+ - name: Run Tests for Ruby ${{ matrix.ruby }} on ${{ matrix.os }}
25
+ run: bundle exec rake spec
26
+ - name: StandardRB check for Ruby ${{ matrix.ruby }} on ${{ matrix.os }}
27
+ run: bundle exec standardrb --format progress
data/.standard.yml ADDED
@@ -0,0 +1 @@
1
+ ruby_version: 2.7
data/CHANGELOG.md CHANGED
@@ -7,18 +7,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.0.0] - 2025-04-24
11
+
12
+ - Drop support for Ruby <3.0 in order to keep up with dev dependencies.
13
+ - **Breaking Change**: The `rqrcode_core` gem has been updated to version 3.0.0, which includes breaking changes. Please refer to the [rqrcode_core changelog](https://github.com/whomwah/rqrcode/blob/main/CHANGELOG.md)
14
+
15
+ ## [2.2.0] - 2023-06-17
16
+
17
+ ### Changed
18
+
19
+ - Allow all ChunkyPNG::Color options to be passed into `fill` and `color` on `as_png` [#135]
20
+ - Add 3.2 to CI [@petergoldstein](https://github.com/petergoldstein) [#133]
21
+ - Development dependency upgrades. Minimum Ruby change [#130]
22
+ - README updates
23
+
10
24
  ## [2.1.2] - 2022-07-26
11
25
 
12
- * Remove setup script as it just calls bundle install [#128]
13
- * Change inline styles to the fill property to allow for strict CSP style-src directive [#127]
26
+ ### Changed
27
+
28
+ - Remove setup script as it just calls bundle install [#128]
29
+ - Change inline styles to the fill property to allow for strict CSP style-src directive [#127]
14
30
 
15
31
  ## [2.1.1] - 2022-02-11
16
32
 
33
+ ### Added
34
+
17
35
  - Added in a handler for when color arguments are passed in as symbols e.g `color: :yellow`. This also allows for the use of the `:currentColor` keyword. [#122]
18
36
 
19
37
  ## [2.1.0] - 2021-08-26
20
38
 
39
+ ### Changed
40
+
21
41
  - Sync Gemfile.lock with `rqrcode_core.1.2.0` [Adds Multimode Support](https://github.com/whomwah/rqrcode_core#multiple-encoding-support)
42
+
43
+ ### Added
44
+
22
45
  - Add badge for Standard linting
23
46
 
24
47
  ### Changed
@@ -42,7 +65,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
42
65
 
43
66
  ### Breaking Change
44
67
 
45
- - The dependency `rqrcode_core-1.0.0` has a tiny breaking change to the `to_s` public method. https://github.com/whomwah/rqrcode_core/blob/master/CHANGELOG.md#breaking-changes
68
+ - The dependency `rqrcode_core-1.0.0` has a tiny breaking change to the `to_s` public method. https://github.com/whomwah/rqrcode_core/blob/main/CHANGELOG.md#breaking-changes
46
69
 
47
70
  ## [1.2.0] - 2020-12-26
48
71
 
@@ -52,7 +75,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
52
75
  - bump dependencies
53
76
  - fix `required_ruby_version` for Ruby 3 support
54
77
 
55
- [unreleased]: https://github.com/whomwah/rqrcode/compare/v2.1.2...HEAD
78
+ [unreleased]: https://github.com/whomwah/rqrcode/compare/v2.2.0...HEAD
79
+ [2.2.0]: https://github.com/whomwah/rqrcode/compare/v2.1.2...v2.2.0
56
80
  [2.1.2]: https://github.com/whomwah/rqrcode/compare/v2.1.1...v2.1.2
57
81
  [2.1.1]: https://github.com/whomwah/rqrcode/compare/v2.1.0...v2.1.1
58
82
  [2.1.0]: https://github.com/whomwah/rqrcode/compare/v2.0.0...v2.1.0
data/Gemfile.lock CHANGED
@@ -1,68 +1,82 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rqrcode (2.1.2)
4
+ rqrcode (3.0.0)
5
5
  chunky_png (~> 1.0)
6
- rqrcode_core (~> 1.0)
6
+ rqrcode_core (~> 2.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  ast (2.4.2)
12
12
  chunky_png (1.4.0)
13
- diff-lcs (1.4.4)
14
- parallel (1.21.0)
15
- parser (3.1.0.0)
13
+ diff-lcs (1.5.1)
14
+ json (2.7.2)
15
+ language_server-protocol (3.17.0.3)
16
+ lint_roller (1.1.0)
17
+ parallel (1.26.3)
18
+ parser (3.3.5.0)
16
19
  ast (~> 2.4.1)
17
- rainbow (3.0.0)
18
- rake (13.0.3)
19
- regexp_parser (2.2.0)
20
- rexml (3.2.5)
21
- rqrcode_core (1.2.0)
22
- rspec (3.10.0)
23
- rspec-core (~> 3.10.0)
24
- rspec-expectations (~> 3.10.0)
25
- rspec-mocks (~> 3.10.0)
26
- rspec-core (3.10.1)
27
- rspec-support (~> 3.10.0)
28
- rspec-expectations (3.10.1)
20
+ racc
21
+ racc (1.8.1)
22
+ rainbow (3.1.1)
23
+ rake (13.2.1)
24
+ regexp_parser (2.9.2)
25
+ rqrcode_core (2.0.0)
26
+ rspec (3.13.0)
27
+ rspec-core (~> 3.13.0)
28
+ rspec-expectations (~> 3.13.0)
29
+ rspec-mocks (~> 3.13.0)
30
+ rspec-core (3.13.1)
31
+ rspec-support (~> 3.13.0)
32
+ rspec-expectations (3.13.2)
29
33
  diff-lcs (>= 1.2.0, < 2.0)
30
- rspec-support (~> 3.10.0)
31
- rspec-mocks (3.10.2)
34
+ rspec-support (~> 3.13.0)
35
+ rspec-mocks (3.13.1)
32
36
  diff-lcs (>= 1.2.0, < 2.0)
33
- rspec-support (~> 3.10.0)
34
- rspec-support (3.10.2)
35
- rubocop (1.24.1)
37
+ rspec-support (~> 3.13.0)
38
+ rspec-support (3.13.1)
39
+ rubocop (1.66.1)
40
+ json (~> 2.3)
41
+ language_server-protocol (>= 3.17.0)
36
42
  parallel (~> 1.10)
37
- parser (>= 3.0.0.0)
43
+ parser (>= 3.3.0.2)
38
44
  rainbow (>= 2.2.2, < 4.0)
39
- regexp_parser (>= 1.8, < 3.0)
40
- rexml
41
- rubocop-ast (>= 1.15.1, < 2.0)
45
+ regexp_parser (>= 2.4, < 3.0)
46
+ rubocop-ast (>= 1.32.2, < 2.0)
42
47
  ruby-progressbar (~> 1.7)
43
- unicode-display_width (>= 1.4.0, < 3.0)
44
- rubocop-ast (1.15.1)
45
- parser (>= 3.0.1.1)
46
- rubocop-performance (1.13.1)
47
- rubocop (>= 1.7.0, < 2.0)
48
- rubocop-ast (>= 0.4.0)
49
- ruby-progressbar (1.11.0)
50
- standard (1.6.0)
51
- rubocop (= 1.24.1)
52
- rubocop-performance (= 1.13.1)
53
- standardrb (1.0.0)
54
- standard
55
- unicode-display_width (2.1.0)
48
+ unicode-display_width (>= 2.4.0, < 3.0)
49
+ rubocop-ast (1.32.3)
50
+ parser (>= 3.3.1.0)
51
+ rubocop-performance (1.22.1)
52
+ rubocop (>= 1.48.1, < 2.0)
53
+ rubocop-ast (>= 1.31.1, < 2.0)
54
+ ruby-progressbar (1.13.0)
55
+ standard (1.41.0)
56
+ language_server-protocol (~> 3.17.0.2)
57
+ lint_roller (~> 1.0)
58
+ rubocop (~> 1.66.0)
59
+ standard-custom (~> 1.0.0)
60
+ standard-performance (~> 1.5)
61
+ standard-custom (1.0.2)
62
+ lint_roller (~> 1.0)
63
+ rubocop (~> 1.50)
64
+ standard-performance (1.5.0)
65
+ lint_roller (~> 1.1)
66
+ rubocop-performance (~> 1.22.0)
67
+ unicode-display_width (2.6.0)
56
68
 
57
69
  PLATFORMS
70
+ aarch64-linux
58
71
  ruby
72
+ x86_64-linux
59
73
 
60
74
  DEPENDENCIES
61
75
  bundler (~> 2.0)
62
76
  rake (~> 13.0)
63
77
  rqrcode!
64
78
  rspec (~> 3.5)
65
- standardrb (~> 1.0)
79
+ standard (~> 1.41)
66
80
 
67
81
  BUNDLED WITH
68
- 2.2.32
82
+ 2.4.10
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  [RQRCode](https://github.com/whomwah/rqrcode) is a library for creating and rendering QR codes into various formats. It has a simple interface with all the standard QR code options. It was adapted from the Javascript library by Kazuhiko Arase.
8
8
 
9
9
  * QR code is trademarked by Denso Wave inc
10
- * Minimum Ruby version is `>= 2.3`
10
+ * Minimum Ruby version is `>= 3.0.0`
11
11
  * For `rqrcode` releases `< 2.0.0` please use [this README](https://github.com/whomwah/rqrcode/blob/v1.2.0/README.md)
12
12
  * For `rqrcode` releases `< 1.0.0` please use [this README](https://github.com/whomwah/rqrcode/blob/v0.9.0/README.md)
13
13
 
@@ -76,13 +76,13 @@ Expects a string or array (for multi-segment encoding) to be parsed in, other ar
76
76
  Example
77
77
 
78
78
  ```ruby
79
- simple_qrcode = RQRCodeCore::QRCode.new("https://kyan.com", size: 1, level: :m, mode: :alphanumeric)
79
+ simple_qrcode = RQRCodeCore::QRCode.new("https://kyan.com", size: 2, level: :m, mode: :byte_8bit)
80
80
 
81
- segment_qrcode = QRCodeCore::QRCode.new({ data: "foo", mode: :byte_8bit })
81
+ segment_qrcode = RQRCodeCore::QRCode.new([{ data: "foo", mode: :byte_8bit }])
82
82
 
83
83
  multi_qrcode = RQRCodeCore::QRCode.new([
84
84
  { data: 'foo', mode: :byte_8bit },
85
- { data: 'bar1', mode: :alphanumeric }
85
+ { data: 'BAR1', mode: :alphanumeric }
86
86
  ])
87
87
  ```
88
88
 
@@ -109,8 +109,8 @@ shape_rendering - SVG Attribute: auto | optimizeSpeed | crispEdges | geometricPr
109
109
  (defaults crispEdges)
110
110
  standalone - Whether to make this a full SVG file, or only an svg to embed in other svg
111
111
  (default true)
112
- use_path - Use <path> to render SVG rather than <rect> to significantly reduce size
113
- and quality. This will become the default in future versions.
112
+ use_path - Use <path> to render SVG rather than <rect> to significantly reduce size.
113
+ This will become the default in future versions.
114
114
  (default false)
115
115
  viewbox - Replace the `svg.width` and `svg.height` attribute with `svg.viewBox` to
116
116
  allow CSS scaling
@@ -143,8 +143,8 @@ The will produce a PNG using the [ChunkyPNG gem](https://github.com/wvanbergen/c
143
143
  ```
144
144
  Options:
145
145
 
146
- fill - Background ChunkyPNG::Color, defaults to 'white'
147
- color - Foreground ChunkyPNG::Color, defaults to 'black'
146
+ fill - Background <ChunkyPNG::Color>, defaults to 'white'. Use [] for multi args
147
+ color - Foreground <ChunkyPNG::Color>, defaults to 'black'. Use [] for multi args
148
148
 
149
149
  When option :file is supplied you can use the following ChunkyPNG constraints:
150
150
 
@@ -3,15 +3,14 @@
3
3
  require "chunky_png"
4
4
 
5
5
  # This class creates PNG files.
6
- # Code from: https://github.com/DCarper/rqrcode
7
6
  module RQRCode
8
7
  module Export
9
8
  module PNG
10
9
  # Render the PNG from the QR Code.
11
10
  #
12
11
  # Options:
13
- # fill - Background ChunkyPNG::Color, defaults to 'white'
14
- # color - Foreground ChunkyPNG::Color, defaults to 'black'
12
+ # fill - Background ChunkyPNG::Color, defaults to 'white'.
13
+ # color - Foreground ChunkyPNG::Color, defaults to 'black'.
15
14
  #
16
15
  # When option :file is supplied you can use the following ChunkyPNG constraints
17
16
  # color_mode - The color mode to use. Use one of the ChunkyPNG::COLOR_* constants.
@@ -62,8 +61,8 @@ module RQRCode
62
61
 
63
62
  googleis = options.length == 0 || !options[:size].nil?
64
63
  options = default_img_options.merge(options) # reverse_merge
65
- fill = ChunkyPNG::Color(options[:fill])
66
- color = ChunkyPNG::Color(options[:color])
64
+ fill = ChunkyPNG::Color(*(options[:fill].is_a?(Array) ? options[:fill] : [options[:fill]]))
65
+ color = ChunkyPNG::Color(*(options[:color].is_a?(Array) ? options[:color] : [options[:color]]))
67
66
  output_file = options[:file]
68
67
  module_px_size = nil
69
68
  border_px = nil
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RQRCode
4
- VERSION = "2.1.2"
4
+ VERSION = "3.0.0"
5
5
  end
data/rqrcode.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.license = "MIT"
20
20
  spec.metadata = {
21
21
  "bug_tracker_uri" => "https://github.com/whomwah/rqrcode/issues",
22
- "changelog_uri" => "https://github.com/whomwah/rqrcode/blob/master/CHANGELOG.md"
22
+ "changelog_uri" => "https://github.com/whomwah/rqrcode/blob/main/CHANGELOG.md"
23
23
  }
24
24
 
25
25
  spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
@@ -29,11 +29,11 @@ Gem::Specification.new do |spec|
29
29
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
30
  spec.require_paths = ["lib"]
31
31
 
32
- spec.required_ruby_version = ">= 2.3"
33
- spec.add_dependency "rqrcode_core", "~> 1.0"
32
+ spec.required_ruby_version = "~> 3.0"
33
+ spec.add_dependency "rqrcode_core", "~> 2.0"
34
34
  spec.add_dependency "chunky_png", "~> 1.0"
35
35
  spec.add_development_dependency "bundler", "~> 2.0"
36
36
  spec.add_development_dependency "rake", "~> 13.0"
37
37
  spec.add_development_dependency "rspec", "~> 3.5"
38
- spec.add_development_dependency "standardrb", "~> 1.0"
38
+ spec.add_development_dependency "standard", "~> 1.41"
39
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rqrcode
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Duncan Robertson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-26 00:00:00.000000000 Z
11
+ date: 2025-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rqrcode_core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '2.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: '1.0'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: chunky_png
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -81,19 +81,19 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.5'
83
83
  - !ruby/object:Gem::Dependency
84
- name: standardrb
84
+ name: standard
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.0'
89
+ version: '1.41'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.0'
96
+ version: '1.41'
97
97
  description: |
98
98
  rqrcode is a library for encoding QR Codes. The simple
99
99
  interface allows you to create QR Code data structures
@@ -104,9 +104,11 @@ executables: []
104
104
  extensions: []
105
105
  extra_rdoc_files: []
106
106
  files:
107
+ - ".github/FUNDING.yml"
107
108
  - ".github/workflows/ruby.yml"
108
109
  - ".gitignore"
109
110
  - ".rspec"
111
+ - ".standard.yml"
110
112
  - CHANGELOG.md
111
113
  - Gemfile
112
114
  - Gemfile.lock
@@ -133,23 +135,23 @@ licenses:
133
135
  - MIT
134
136
  metadata:
135
137
  bug_tracker_uri: https://github.com/whomwah/rqrcode/issues
136
- changelog_uri: https://github.com/whomwah/rqrcode/blob/master/CHANGELOG.md
138
+ changelog_uri: https://github.com/whomwah/rqrcode/blob/main/CHANGELOG.md
137
139
  post_install_message:
138
140
  rdoc_options: []
139
141
  require_paths:
140
142
  - lib
141
143
  required_ruby_version: !ruby/object:Gem::Requirement
142
144
  requirements:
143
- - - ">="
145
+ - - "~>"
144
146
  - !ruby/object:Gem::Version
145
- version: '2.3'
147
+ version: '3.0'
146
148
  required_rubygems_version: !ruby/object:Gem::Requirement
147
149
  requirements:
148
150
  - - ">="
149
151
  - !ruby/object:Gem::Version
150
152
  version: '0'
151
153
  requirements: []
152
- rubygems_version: 3.3.7
154
+ rubygems_version: 3.5.11
153
155
  signing_key:
154
156
  specification_version: 4
155
157
  summary: A library to encode QR Codes