rqrcode 0.10.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|