rqrcode 0.10.1 → 1.2.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 +5 -5
- data/.github/workflows/ruby.yml +31 -0
- data/.gitignore +13 -0
- data/.rspec +2 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +124 -135
- data/_config.yml +1 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/images/ansi-screen-shot.png +0 -0
- data/images/github-qrcode.png +0 -0
- data/images/github-qrcode.svg +32 -0
- data/lib/rqrcode/export/ansi.rb +14 -15
- data/lib/rqrcode/export/html.rb +6 -8
- data/lib/rqrcode/export/png.rb +40 -31
- data/lib/rqrcode/export/svg.rb +16 -7
- data/lib/rqrcode/export.rb +6 -0
- data/lib/rqrcode/qrcode/qrcode.rb +17 -0
- data/lib/rqrcode/qrcode.rb +3 -4
- data/lib/rqrcode/version.rb +3 -1
- data/lib/rqrcode.rb +8 -19
- data/rqrcode.gemspec +36 -0
- metadata +68 -56
- data/CHANGELOG +0 -97
- data/LICENSE +0 -19
- data/lib/rqrcode/core_ext/array/behavior.rb +0 -12
- data/lib/rqrcode/core_ext/array.rb +0 -5
- data/lib/rqrcode/core_ext/integer/bitwise.rb +0 -13
- data/lib/rqrcode/core_ext/integer.rb +0 -5
- data/lib/rqrcode/core_ext.rb +0 -5
- data/lib/rqrcode/qrcode/qr_8bit_byte.rb +0 -36
- data/lib/rqrcode/qrcode/qr_alphanumeric.rb +0 -47
- data/lib/rqrcode/qrcode/qr_bit_buffer.rb +0 -99
- data/lib/rqrcode/qrcode/qr_code.rb +0 -585
- data/lib/rqrcode/qrcode/qr_math.rb +0 -63
- data/lib/rqrcode/qrcode/qr_numeric.rb +0 -57
- data/lib/rqrcode/qrcode/qr_polynomial.rb +0 -78
- data/lib/rqrcode/qrcode/qr_rs_block.rb +0 -314
- data/lib/rqrcode/qrcode/qr_util.rb +0 -272
- data/test/data.rb +0 -25
- data/test/test_helper.rb +0 -5
- data/test/test_regresions.rb +0 -10
- data/test/test_rqrcode.rb +0 -155
- data/test/test_rqrcode_export.rb +0 -27
data/lib/rqrcode/export/ansi.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RQRCode
|
2
4
|
module Export
|
3
5
|
module ANSI
|
4
|
-
|
6
|
+
#
|
5
7
|
# Returns a string of the QR code as
|
6
8
|
# characters writen with ANSI background set.
|
7
|
-
#
|
8
|
-
# Options:
|
9
|
+
#
|
10
|
+
# Options:
|
9
11
|
# light: Foreground ("\033[47m")
|
10
12
|
# dark: Background ANSI code. ("\033[47m")
|
11
13
|
# fill_character: The written character. (' ')
|
@@ -19,23 +21,20 @@ module RQRCode
|
|
19
21
|
quiet_zone_size: 4
|
20
22
|
}.merge(options)
|
21
23
|
|
22
|
-
normal = "\033[m"
|
24
|
+
normal = "\033[m\n"
|
23
25
|
light = options.fetch(:light)
|
24
26
|
dark = options.fetch(:dark)
|
25
27
|
fill_character = options.fetch(:fill_character)
|
26
28
|
quiet_zone_size = options.fetch(:quiet_zone_size)
|
29
|
+
output = []
|
27
30
|
|
28
|
-
|
29
|
-
|
30
|
-
@modules.each_index do |c|
|
31
|
-
|
31
|
+
@qrcode.modules.each_index do |c|
|
32
32
|
# start row with quiet zone
|
33
33
|
row = light + fill_character * quiet_zone_size
|
34
34
|
previous_dark = false
|
35
35
|
|
36
|
-
@modules.each_index do |r|
|
37
|
-
if
|
38
|
-
# dark
|
36
|
+
@qrcode.modules.each_index do |r|
|
37
|
+
if @qrcode.checked?(c, r)
|
39
38
|
if previous_dark != true
|
40
39
|
row << dark
|
41
40
|
previous_dark = true
|
@@ -58,18 +57,18 @@ module RQRCode
|
|
58
57
|
row << fill_character * quiet_zone_size
|
59
58
|
|
60
59
|
# always end with reset and newline
|
61
|
-
row << normal
|
60
|
+
row << normal
|
62
61
|
|
63
62
|
output << row
|
64
63
|
end
|
65
64
|
|
66
65
|
# count the row width so we can add quiet zone rows
|
67
|
-
width = output.
|
66
|
+
width = output.first.scan(fill_character).length
|
68
67
|
|
69
|
-
quiet_row = light + fill_character * width + normal
|
68
|
+
quiet_row = light + fill_character * width + normal
|
70
69
|
quiet_rows = quiet_row * quiet_zone_size
|
71
70
|
|
72
|
-
return quiet_rows + output + quiet_rows
|
71
|
+
return quiet_rows + output.join + quiet_rows
|
73
72
|
end
|
74
73
|
end
|
75
74
|
end
|
data/lib/rqrcode/export/html.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module RQRCode
|
3
4
|
module Export
|
4
5
|
module HTML
|
5
|
-
|
6
|
+
#
|
7
|
+
# Use this module to HTML-ify the QR code if you just want the default HTML
|
6
8
|
def as_html
|
7
9
|
['<table>', rows.as_html, '</table>'].join
|
8
10
|
end
|
@@ -10,7 +12,7 @@ module RQRCode
|
|
10
12
|
private
|
11
13
|
|
12
14
|
def rows
|
13
|
-
Rows.new(
|
15
|
+
Rows.new(@qrcode)
|
14
16
|
end
|
15
17
|
|
16
18
|
class Rows < Struct.new(:qr)
|
@@ -39,11 +41,7 @@ module RQRCode
|
|
39
41
|
end
|
40
42
|
|
41
43
|
def html_class
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
def dark?
|
46
|
-
qr.dark?(row_index, col_index)
|
44
|
+
qr.checked?(row_index, col_index) ? 'black' : 'white'
|
47
45
|
end
|
48
46
|
end
|
49
47
|
end
|
data/lib/rqrcode/export/png.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'chunky_png'
|
2
3
|
|
3
4
|
# This class creates PNG files.
|
@@ -5,21 +6,26 @@ require 'chunky_png'
|
|
5
6
|
module RQRCode
|
6
7
|
module Export
|
7
8
|
module PNG
|
8
|
-
|
9
|
-
# Render the PNG from the Qrcode.
|
9
|
+
# Render the PNG from the QR Code.
|
10
10
|
#
|
11
11
|
# There are two sizing algoritams.
|
12
12
|
#
|
13
13
|
# - Original that can result in blurry and hard to scan images
|
14
14
|
# - Google's Chart API inspired sizing that resizes the module size to fit within the given image size.
|
15
|
-
#
|
15
|
+
#
|
16
16
|
# The Googleis one will be used when no options are given or when the new size option is used.
|
17
17
|
#
|
18
|
-
# Options:
|
18
|
+
# Options:
|
19
19
|
# fill - Background ChunkyPNG::Color, defaults to 'white'
|
20
20
|
# color - Foreground ChunkyPNG::Color, defaults to 'black'
|
21
21
|
#
|
22
|
-
#
|
22
|
+
# When option :file is supplied you can use the following ChunkyPNG constraints
|
23
|
+
# color_mode - The color mode to use. Use one of the ChunkyPNG::COLOR_* constants. defaults to 'ChunkyPNG::COLOR_GRAYSCALE'
|
24
|
+
# bit_depth - The bit depth to use. This option is only used for indexed images. defaults to '1' bit
|
25
|
+
# interlace - Whether to use interlacing (true or false). defaults to ChunkyPNG default
|
26
|
+
# compression - The compression level for Zlib. This can be a value between 0 and 9, or a Zlib constant like Zlib::BEST_COMPRESSION, defaults to ChunkyPNG defaults
|
27
|
+
#
|
28
|
+
# *Googleis*
|
23
29
|
# size - Total size of PNG in pixels. The module size is calculated so it fits. (defaults to 90)
|
24
30
|
# border_modules - Width of white border around in modules. (defaults to 4).
|
25
31
|
#
|
@@ -33,37 +39,35 @@ module RQRCode
|
|
33
39
|
# Defaults to 90x90 pixels, customizable by option.
|
34
40
|
#
|
35
41
|
def as_png(options = {})
|
36
|
-
|
37
42
|
default_img_options = {
|
38
|
-
:
|
39
|
-
:
|
40
|
-
:
|
41
|
-
:
|
42
|
-
:
|
43
|
-
:
|
44
|
-
:
|
45
|
-
:
|
43
|
+
bit_depth: 1,
|
44
|
+
border_modules: 4,
|
45
|
+
color_mode: ChunkyPNG::COLOR_GRAYSCALE,
|
46
|
+
color: 'black',
|
47
|
+
file: false,
|
48
|
+
fill: 'white',
|
49
|
+
module_px_size: 6,
|
50
|
+
resize_exactly_to: false,
|
51
|
+
resize_gte_to: false,
|
52
|
+
size: 120
|
46
53
|
}
|
47
|
-
|
54
|
+
|
48
55
|
googleis = options.length == 0 || (options[:size] != nil)
|
49
|
-
|
50
56
|
options = default_img_options.merge(options) # reverse_merge
|
51
|
-
|
52
57
|
fill = ChunkyPNG::Color(options[:fill])
|
53
58
|
color = ChunkyPNG::Color(options[:color])
|
54
59
|
output_file = options[:file]
|
55
|
-
|
56
60
|
module_px_size = nil
|
57
61
|
border_px = nil
|
58
62
|
png = nil
|
59
|
-
|
63
|
+
|
60
64
|
if googleis
|
61
65
|
total_image_size = options[:size]
|
62
66
|
border_modules = options[:border_modules]
|
63
67
|
|
64
|
-
module_px_size = (total_image_size.to_f / (
|
68
|
+
module_px_size = (total_image_size.to_f / (@qrcode.module_count + 2 * border_modules).to_f).floor.to_i
|
65
69
|
|
66
|
-
img_size = module_px_size *
|
70
|
+
img_size = module_px_size * @qrcode.module_count
|
67
71
|
|
68
72
|
remaining = total_image_size - img_size
|
69
73
|
border_px = (remaining / 2.0).floor.to_i
|
@@ -73,7 +77,7 @@ module RQRCode
|
|
73
77
|
border = options[:border_modules]
|
74
78
|
total_border = border * 2
|
75
79
|
module_px_size = if options[:resize_gte_to]
|
76
|
-
(options[:resize_gte_to].to_f / (
|
80
|
+
(options[:resize_gte_to].to_f / (@qrcode.module_count + total_border).to_f).ceil.to_i
|
77
81
|
else
|
78
82
|
options[:module_px_size]
|
79
83
|
end
|
@@ -81,15 +85,15 @@ module RQRCode
|
|
81
85
|
total_border_px = border_px * 2
|
82
86
|
resize_to = options[:resize_exactly_to]
|
83
87
|
|
84
|
-
img_size = module_px_size *
|
88
|
+
img_size = module_px_size * @qrcode.module_count
|
85
89
|
total_img_size = img_size + total_border_px
|
86
90
|
|
87
91
|
png = ChunkyPNG::Image.new(total_img_size, total_img_size, fill)
|
88
92
|
end
|
89
93
|
|
90
|
-
|
91
|
-
|
92
|
-
if
|
94
|
+
@qrcode.modules.each_index do |x|
|
95
|
+
@qrcode.modules.each_index do |y|
|
96
|
+
if @qrcode.checked?(x, y)
|
93
97
|
(0...module_px_size).each do |i|
|
94
98
|
(0...module_px_size).each do |j|
|
95
99
|
png[(y * module_px_size) + border_px + j , (x * module_px_size) + border_px + i] = color
|
@@ -98,18 +102,23 @@ module RQRCode
|
|
98
102
|
end
|
99
103
|
end
|
100
104
|
end
|
101
|
-
|
105
|
+
|
102
106
|
if !googleis && resize_to
|
103
|
-
png = png.resize(resize_to, resize_to)
|
107
|
+
png = png.resize(resize_to, resize_to)
|
104
108
|
end
|
105
109
|
|
106
|
-
|
107
110
|
if output_file
|
108
|
-
|
111
|
+
constraints = {
|
112
|
+
color_mode: options[:color_mode],
|
113
|
+
bit_depth: options[:bit_depth]
|
114
|
+
}
|
115
|
+
constraints[:interlace] = options[:interlace] if options.has_key?(:interlace)
|
116
|
+
constraints[:compression] = options[:compression] if options.has_key?(:compression)
|
117
|
+
png.save(output_file, constraints)
|
109
118
|
end
|
119
|
+
|
110
120
|
png
|
111
121
|
end
|
112
|
-
|
113
122
|
end
|
114
123
|
end
|
115
124
|
end
|
data/lib/rqrcode/export/svg.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This class creates a SVG files.
|
2
4
|
# Code from: https://github.com/samvincent/rqrcode-rails3
|
3
5
|
module RQRCode
|
4
6
|
module Export
|
5
|
-
|
6
7
|
module SVG
|
7
|
-
|
8
|
+
#
|
8
9
|
# Render the SVG from the Qrcode.
|
9
10
|
#
|
10
11
|
# Options:
|
@@ -13,28 +14,31 @@ module RQRCode
|
|
13
14
|
# color - Foreground color for the code (e.g. "000000" or :black)
|
14
15
|
# module_size - The Pixel size of each module (e.g. 11)
|
15
16
|
# shape_rendering - Defaults to crispEdges
|
17
|
+
# standalone - wether to make this a full SVG file, or only svg to embed
|
18
|
+
# in other svg.
|
16
19
|
#
|
17
20
|
def as_svg(options={})
|
18
21
|
offset = options[:offset].to_i || 0
|
19
22
|
color = options[:color] || "000"
|
20
23
|
shape_rendering = options[:shape_rendering] || "crispEdges"
|
21
24
|
module_size = options[:module_size] || 11
|
25
|
+
standalone = options[:standalone].nil? ? true : options[:standalone]
|
22
26
|
|
23
27
|
# height and width dependent on offset and QR complexity
|
24
|
-
dimension = (
|
28
|
+
dimension = (@qrcode.module_count*module_size) + (2*offset)
|
25
29
|
|
26
30
|
xml_tag = %{<?xml version="1.0" standalone="yes"?>}
|
27
31
|
open_tag = %{<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" width="#{dimension}" height="#{dimension}" shape-rendering="#{shape_rendering}">}
|
28
32
|
close_tag = "</svg>"
|
29
33
|
|
30
34
|
result = []
|
31
|
-
|
35
|
+
@qrcode.modules.each_index do |c|
|
32
36
|
tmp = []
|
33
|
-
|
37
|
+
@qrcode.modules.each_index do |r|
|
34
38
|
y = c*module_size + offset
|
35
39
|
x = r*module_size + offset
|
36
40
|
|
37
|
-
next unless
|
41
|
+
next unless @qrcode.checked?(c, r)
|
38
42
|
tmp << %{<rect width="#{module_size}" height="#{module_size}" x="#{x}" y="#{y}" style="fill:##{color}"/>}
|
39
43
|
end
|
40
44
|
result << tmp.join
|
@@ -44,7 +48,12 @@ module RQRCode
|
|
44
48
|
result.unshift %{<rect width="#{dimension}" height="#{dimension}" x="0" y="0" style="fill:##{options[:fill]}"/>}
|
45
49
|
end
|
46
50
|
|
47
|
-
|
51
|
+
if standalone
|
52
|
+
result.unshift(xml_tag, open_tag)
|
53
|
+
result << close_tag
|
54
|
+
end
|
55
|
+
|
56
|
+
result.join("\n")
|
48
57
|
end
|
49
58
|
end
|
50
59
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'forwardable'
|
4
|
+
|
5
|
+
module RQRCode #:nodoc:
|
6
|
+
class QRCode
|
7
|
+
extend Forwardable
|
8
|
+
def_delegators :@qrcode, :to_s
|
9
|
+
def_delegators :@qrcode, :modules # deprecated
|
10
|
+
|
11
|
+
attr_reader :qrcode
|
12
|
+
|
13
|
+
def initialize(string, *args)
|
14
|
+
@qrcode = RQRCodeCore::QRCode.new(string, *args)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/rqrcode/qrcode.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rqrcode/qrcode/qrcode'
|
data/lib/rqrcode/version.rb
CHANGED
data/lib/rqrcode.rb
CHANGED
@@ -1,19 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
# above copyright notice is included.
|
10
|
-
#++
|
11
|
-
|
12
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
13
|
-
|
14
|
-
require "rqrcode/core_ext"
|
15
|
-
require "rqrcode/qrcode"
|
16
|
-
require 'rqrcode/export/png'
|
17
|
-
require 'rqrcode/export/svg'
|
18
|
-
require 'rqrcode/export/html'
|
19
|
-
require 'rqrcode/export/ansi'
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RQRCode
|
4
|
+
require 'rqrcode_core'
|
5
|
+
require 'rqrcode/qrcode'
|
6
|
+
require 'rqrcode/export'
|
7
|
+
require 'rqrcode/version'
|
8
|
+
end
|
data/rqrcode.gemspec
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
lib = File.expand_path("../lib", __FILE__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require "rqrcode/version"
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = "rqrcode"
|
9
|
+
spec.version = RQRCode::VERSION
|
10
|
+
spec.platform = Gem::Platform::RUBY
|
11
|
+
spec.authors = ["Duncan Robertson"]
|
12
|
+
spec.email = ["duncan@whomwah.com"]
|
13
|
+
|
14
|
+
spec.summary = %q{A library to encode QR Codes}
|
15
|
+
spec.description = <<EOF
|
16
|
+
rqrcode is a library for encoding QR Codes. The simple
|
17
|
+
interface allows you to create QR Code data structures
|
18
|
+
and then render them in the way you choose.
|
19
|
+
EOF
|
20
|
+
spec.homepage = "https://github.com/whomwah/rqrcode"
|
21
|
+
spec.license = "MIT"
|
22
|
+
|
23
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
24
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
25
|
+
end
|
26
|
+
spec.bindir = "exe"
|
27
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
|
+
spec.require_paths = ["lib"]
|
29
|
+
|
30
|
+
spec.required_ruby_version = '>= 2.3'
|
31
|
+
spec.add_dependency 'rqrcode_core', '~> 0.2'
|
32
|
+
spec.add_dependency 'chunky_png', '~> 1.0'
|
33
|
+
spec.add_development_dependency 'bundler', '>= 2.0'
|
34
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
35
|
+
spec.add_development_dependency 'rspec', '~> 3.5'
|
36
|
+
end
|
metadata
CHANGED
@@ -1,102 +1,120 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rqrcode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Björn Blomqvist
|
8
7
|
- Duncan Robertson
|
9
8
|
autorequire:
|
10
|
-
bindir:
|
9
|
+
bindir: exe
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2020-12-26 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rqrcode_core
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.2'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.2'
|
14
27
|
- !ruby/object:Gem::Dependency
|
15
28
|
name: chunky_png
|
16
29
|
requirement: !ruby/object:Gem::Requirement
|
17
30
|
requirements:
|
18
|
-
- - ~>
|
31
|
+
- - "~>"
|
19
32
|
- !ruby/object:Gem::Version
|
20
33
|
version: '1.0'
|
21
34
|
type: :runtime
|
22
35
|
prerelease: false
|
23
36
|
version_requirements: !ruby/object:Gem::Requirement
|
24
37
|
requirements:
|
25
|
-
- - ~>
|
38
|
+
- - "~>"
|
26
39
|
- !ruby/object:Gem::Version
|
27
40
|
version: '1.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.0'
|
28
55
|
- !ruby/object:Gem::Dependency
|
29
56
|
name: rake
|
30
57
|
requirement: !ruby/object:Gem::Requirement
|
31
58
|
requirements:
|
32
|
-
- -
|
59
|
+
- - "~>"
|
33
60
|
- !ruby/object:Gem::Version
|
34
|
-
version: '0'
|
61
|
+
version: '13.0'
|
35
62
|
type: :development
|
36
63
|
prerelease: false
|
37
64
|
version_requirements: !ruby/object:Gem::Requirement
|
38
65
|
requirements:
|
39
|
-
- -
|
66
|
+
- - "~>"
|
40
67
|
- !ruby/object:Gem::Version
|
41
|
-
version: '0'
|
68
|
+
version: '13.0'
|
42
69
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
70
|
+
name: rspec
|
44
71
|
requirement: !ruby/object:Gem::Requirement
|
45
72
|
requirements:
|
46
|
-
- -
|
73
|
+
- - "~>"
|
47
74
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
75
|
+
version: '3.5'
|
49
76
|
type: :development
|
50
77
|
prerelease: false
|
51
78
|
version_requirements: !ruby/object:Gem::Requirement
|
52
79
|
requirements:
|
53
|
-
- -
|
80
|
+
- - "~>"
|
54
81
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
82
|
+
version: '3.5'
|
56
83
|
description: |
|
57
|
-
|
84
|
+
rqrcode is a library for encoding QR Codes. The simple
|
58
85
|
interface allows you to create QR Code data structures
|
59
|
-
|
86
|
+
and then render them in the way you choose.
|
60
87
|
email:
|
61
|
-
-
|
88
|
+
- duncan@whomwah.com
|
62
89
|
executables: []
|
63
90
|
extensions: []
|
64
|
-
extra_rdoc_files:
|
65
|
-
- README.md
|
66
|
-
- CHANGELOG
|
67
|
-
- LICENSE
|
91
|
+
extra_rdoc_files: []
|
68
92
|
files:
|
69
|
-
-
|
70
|
-
-
|
93
|
+
- ".github/workflows/ruby.yml"
|
94
|
+
- ".gitignore"
|
95
|
+
- ".rspec"
|
96
|
+
- Gemfile
|
97
|
+
- LICENSE.txt
|
71
98
|
- README.md
|
99
|
+
- _config.yml
|
100
|
+
- bin/console
|
101
|
+
- bin/setup
|
102
|
+
- images/ansi-screen-shot.png
|
103
|
+
- images/github-qrcode.png
|
104
|
+
- images/github-qrcode.svg
|
72
105
|
- lib/rqrcode.rb
|
73
|
-
- lib/rqrcode/
|
74
|
-
- lib/rqrcode/core_ext/array.rb
|
75
|
-
- lib/rqrcode/core_ext/array/behavior.rb
|
76
|
-
- lib/rqrcode/core_ext/integer.rb
|
77
|
-
- lib/rqrcode/core_ext/integer/bitwise.rb
|
106
|
+
- lib/rqrcode/export.rb
|
78
107
|
- lib/rqrcode/export/ansi.rb
|
79
108
|
- lib/rqrcode/export/html.rb
|
80
109
|
- lib/rqrcode/export/png.rb
|
81
110
|
- lib/rqrcode/export/svg.rb
|
82
111
|
- lib/rqrcode/qrcode.rb
|
83
|
-
- lib/rqrcode/qrcode/
|
84
|
-
- lib/rqrcode/qrcode/qr_alphanumeric.rb
|
85
|
-
- lib/rqrcode/qrcode/qr_bit_buffer.rb
|
86
|
-
- lib/rqrcode/qrcode/qr_code.rb
|
87
|
-
- lib/rqrcode/qrcode/qr_math.rb
|
88
|
-
- lib/rqrcode/qrcode/qr_numeric.rb
|
89
|
-
- lib/rqrcode/qrcode/qr_polynomial.rb
|
90
|
-
- lib/rqrcode/qrcode/qr_rs_block.rb
|
91
|
-
- lib/rqrcode/qrcode/qr_util.rb
|
112
|
+
- lib/rqrcode/qrcode/qrcode.rb
|
92
113
|
- lib/rqrcode/version.rb
|
93
|
-
-
|
94
|
-
- test/test_helper.rb
|
95
|
-
- test/test_regresions.rb
|
96
|
-
- test/test_rqrcode.rb
|
97
|
-
- test/test_rqrcode_export.rb
|
114
|
+
- rqrcode.gemspec
|
98
115
|
homepage: https://github.com/whomwah/rqrcode
|
99
|
-
licenses:
|
116
|
+
licenses:
|
117
|
+
- MIT
|
100
118
|
metadata: {}
|
101
119
|
post_install_message:
|
102
120
|
rdoc_options: []
|
@@ -104,23 +122,17 @@ require_paths:
|
|
104
122
|
- lib
|
105
123
|
required_ruby_version: !ruby/object:Gem::Requirement
|
106
124
|
requirements:
|
107
|
-
- -
|
125
|
+
- - ">="
|
108
126
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
127
|
+
version: '2.3'
|
110
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
129
|
requirements:
|
112
|
-
- -
|
130
|
+
- - ">="
|
113
131
|
- !ruby/object:Gem::Version
|
114
|
-
version:
|
132
|
+
version: '0'
|
115
133
|
requirements: []
|
116
|
-
|
117
|
-
rubygems_version: 2.4.8
|
134
|
+
rubygems_version: 3.2.3
|
118
135
|
signing_key:
|
119
136
|
specification_version: 4
|
120
137
|
summary: A library to encode QR Codes
|
121
|
-
test_files:
|
122
|
-
- test/data.rb
|
123
|
-
- test/test_helper.rb
|
124
|
-
- test/test_regresions.rb
|
125
|
-
- test/test_rqrcode.rb
|
126
|
-
- test/test_rqrcode_export.rb
|
138
|
+
test_files: []
|