squib 0.15.3 → 0.17.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 +4 -4
- data/.github/workflows/tests.yml +22 -0
- data/CHANGELOG.md +35 -1
- data/Dockerfile +18 -16
- data/Guardfile +8 -0
- data/README.md +3 -9
- data/RELEASE TODO.md +4 -2
- data/Rakefile +3 -0
- data/lib/squib.rb +5 -1
- data/lib/squib/args/arg_loader.rb +109 -106
- data/lib/squib/args/box.rb +52 -48
- data/lib/squib/args/card_range.rb +26 -24
- data/lib/squib/args/color_validator.rb +4 -9
- data/lib/squib/args/coords.rb +39 -25
- data/lib/squib/args/csv_opts.rb +13 -16
- data/lib/squib/args/dir_validator.rb +7 -12
- data/lib/squib/args/draw.rb +69 -68
- data/lib/squib/args/drop_shadow.rb +39 -0
- data/lib/squib/args/embed_adjust.rb +12 -15
- data/lib/squib/args/embed_key.rb +6 -11
- data/lib/squib/args/hand_special.rb +25 -25
- data/lib/squib/args/import.rb +54 -27
- data/lib/squib/args/input_file.rb +22 -26
- data/lib/squib/args/paint.rb +30 -31
- data/lib/squib/args/paragraph.rb +95 -93
- data/lib/squib/args/save_batch.rb +50 -48
- data/lib/squib/args/scale_box.rb +43 -39
- data/lib/squib/args/sheet.rb +142 -149
- data/lib/squib/args/showcase_special.rb +32 -32
- data/lib/squib/args/sprue_file.rb +30 -30
- data/lib/squib/args/svg_special.rb +26 -26
- data/lib/squib/args/transform.rb +48 -54
- data/lib/squib/args/typographer.rb +88 -92
- data/lib/squib/args/unit_conversion.rb +6 -8
- data/lib/squib/args/xywh_shorthands.rb +51 -0
- data/lib/squib/builtin/projects/advanced/config.yml +4 -3
- data/lib/squib/builtin/projects/basic/config.yml +4 -3
- data/lib/squib/conf.rb +5 -0
- data/lib/squib/deck.rb +34 -12
- data/lib/squib/dsl/background.rb +35 -0
- data/lib/squib/dsl/circle.rb +39 -0
- data/lib/squib/dsl/csv.rb +42 -0
- data/lib/squib/dsl/curve.rb +35 -0
- data/lib/squib/dsl/cut_zone.rb +47 -0
- data/lib/squib/dsl/ellipse.rb +37 -0
- data/lib/squib/dsl/grid.rb +35 -0
- data/lib/squib/{api → dsl}/groups.rb +0 -0
- data/lib/squib/dsl/hand.rb +42 -0
- data/lib/squib/dsl/line.rb +35 -0
- data/lib/squib/dsl/png.rb +56 -0
- data/lib/squib/dsl/polygon.rb +36 -0
- data/lib/squib/dsl/rect.rb +37 -0
- data/lib/squib/dsl/safe_zone.rb +48 -0
- data/lib/squib/dsl/save.rb +21 -0
- data/lib/squib/dsl/save_pdf.rb +50 -0
- data/lib/squib/dsl/save_png.rb +48 -0
- data/lib/squib/dsl/save_sheet.rb +53 -0
- data/lib/squib/dsl/showcase.rb +43 -0
- data/lib/squib/dsl/star.rb +37 -0
- data/lib/squib/dsl/svg.rb +62 -0
- data/lib/squib/dsl/text.rb +54 -0
- data/lib/squib/dsl/text_embed.rb +78 -0
- data/lib/squib/dsl/triangle.rb +35 -0
- data/lib/squib/{api → dsl}/units.rb +10 -0
- data/lib/squib/dsl/xlsx.rb +40 -0
- data/lib/squib/dsl/yaml.rb +40 -0
- data/lib/squib/errors_warnings/warn_unexpected_params.rb +14 -0
- data/lib/squib/graphics/cairo_context_wrapper.rb +8 -6
- data/lib/squib/graphics/save_images.rb +54 -15
- data/lib/squib/graphics/save_sprue.rb +14 -2
- data/lib/squib/graphics/text.rb +37 -9
- data/lib/squib/import/csv_importer.rb +45 -0
- data/lib/squib/import/quantity_exploder.rb +18 -0
- data/lib/squib/import/xlsx_importer.rb +28 -0
- data/lib/squib/import/yaml_importer.rb +30 -0
- data/lib/squib/layout_parser.rb +24 -7
- data/lib/squib/sprues/crop_line.rb +6 -6
- data/lib/squib/sprues/crop_line_dash.rb +6 -6
- data/lib/squib/sprues/sprue.rb +16 -14
- data/lib/squib/system_fonts.rb +17 -0
- data/lib/squib/version.rb +2 -1
- data/samples/autoscale_font/_autoscale_font.rb +77 -8
- data/samples/colors/_switch_color.rb +2 -2
- data/samples/data/_excel.rb +1 -1
- data/samples/ranges/_ranges.rb +1 -1
- data/samples/saves/_save_filenames.rb +4 -0
- data/samples/saves/_save_pdf.rb +1 -1
- data/samples/saves/_saves.rb +12 -1
- data/samples/shadows/_shadow.rb +72 -0
- data/samples/shapes/_draw_shapes.rb +2 -2
- data/samples/sprues/_builtin_sprues.rb +1 -0
- data/samples/sprues/_fold_sheet.rb +4 -1
- data/samples/system_font_debug/_list_fonts.rb +14 -0
- data/samples/text/_text.rb +6 -1
- data/samples/text/_text_options.rb +2 -1
- data/samples/units/_cells.rb +51 -0
- data/samples/units/_shorthands.rb +48 -0
- data/samples/units/_units.rb +7 -0
- data/squib.gemspec +14 -8
- metadata +134 -39
- data/.travis.yml +0 -17
- data/appveyor.yml +0 -25
- data/lib/squib/api/background.rb +0 -15
- data/lib/squib/api/data.rb +0 -137
- data/lib/squib/api/image.rb +0 -49
- data/lib/squib/api/save.rb +0 -83
- data/lib/squib/api/shapes.rb +0 -124
- data/lib/squib/api/text.rb +0 -25
- data/lib/squib/api/text_embed.rb +0 -71
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# require 'squib'
|
|
2
|
+
require_relative '../../lib/squib'
|
|
3
|
+
|
|
4
|
+
# Per issue #334, sometimes Pango doesn't find the font file you want
|
|
5
|
+
# Pango requires fonts to be installed on the system, but sometimes the
|
|
6
|
+
# font name is not obvious. e.g. "Foo Regular" might be actually named "Foo"
|
|
7
|
+
# Use these methods to debug this problem
|
|
8
|
+
|
|
9
|
+
# Usually you would just run this method to see what fonts are installed
|
|
10
|
+
# This is commented out to make our test cases
|
|
11
|
+
# Squib.print_system_fonts
|
|
12
|
+
|
|
13
|
+
Squib.system_fonts.include? 'Open Sans' # checks if we have Open Sans installed
|
|
14
|
+
# Note: does nothing since it's just a check
|
data/samples/text/_text.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require 'squib'
|
|
2
2
|
require 'squib/sample_helpers'
|
|
3
3
|
|
|
4
|
-
Squib::Deck.new(width: 1000, height:
|
|
4
|
+
Squib::Deck.new(width: 1000, height: 1450) do
|
|
5
5
|
draw_graph_paper width, height
|
|
6
6
|
|
|
7
7
|
sample 'Font strings are quite expressive. Specify family, modifiers, then size. Font names with spaces in them should end with a comma to help with parsing.' do |x, y|
|
|
@@ -21,6 +21,11 @@ Squib::Deck.new(width: 1000, height: 1250) do
|
|
|
21
21
|
hint: :red, width: 350, font: 'Serif bold 7'
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
+
sample 'If you specify ellipsize: :autosize, the font size will autoscale.' do |x, y|
|
|
25
|
+
text str: 'This text doeas not fit with font size 7. It is autoscaled to the largest size that fits instead.', x: x - 50, y: y,
|
|
26
|
+
hint: :red, width: 350, height: 100, ellipsize: :autoscale, font: 'Serif bold 7'
|
|
27
|
+
end
|
|
28
|
+
|
|
24
29
|
sample 'If you specify the width only, and turn off ellipsize, the height will auto-stretch.' do |x, y|
|
|
25
30
|
text str: 'This has fixed width, but not fixed height.', x: x, y: y,
|
|
26
31
|
hint: :red, width: 300, ellipsize: false, font: 'Serif bold 8'
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
Squib::Deck.new(width: '1.5in', height: '1.5in') do
|
|
4
|
+
background color: :white
|
|
5
|
+
|
|
6
|
+
# Squib has a custom unit, called "cell"
|
|
7
|
+
# A "cell" unit defaults to 37.5px, which at 300dpi is 1/8in or 3.175mm
|
|
8
|
+
# This is a very common multiple for layouts.
|
|
9
|
+
# This helps us lay things out in grids without doing much math in our heads
|
|
10
|
+
# Here's an example... with grid!
|
|
11
|
+
grid width: '1 cell', height: '1 cell'
|
|
12
|
+
|
|
13
|
+
# Plurals are fine or just 'c' as a unit is fine
|
|
14
|
+
# Whitespace is pretty lenient too.
|
|
15
|
+
rect fill_color: :blue,
|
|
16
|
+
x: '1 cell', y: '2 cells',
|
|
17
|
+
width: '1c', height: '1cell '
|
|
18
|
+
|
|
19
|
+
# Technically, the "cell" is actually a "unit", so you can even combine
|
|
20
|
+
# with xywh shorhands!!
|
|
21
|
+
rect fill_color: :red,
|
|
22
|
+
x: 'middle + 0.5c', y: 'deck - 1.5c',
|
|
23
|
+
width: '1c', height: '1c'
|
|
24
|
+
|
|
25
|
+
# And, unlike xywh shorthands, this applies basically everywhere we support
|
|
26
|
+
# unit conversion.
|
|
27
|
+
circle fill_color: :green,
|
|
28
|
+
x: '3c', y: '2c', radius: '1c'
|
|
29
|
+
# Decimals are fine too
|
|
30
|
+
circle fill_color: :green,
|
|
31
|
+
x: '5c', y: '2c', radius: '0.5c'
|
|
32
|
+
# Even dashes!
|
|
33
|
+
circle fill_color: '#0000', stroke_color: :purple,
|
|
34
|
+
x: '1c', y: '4c', radius: '0.5c', dash: '0.25c 0.25c'
|
|
35
|
+
|
|
36
|
+
# We can also do stuff in layout. Check out the yml file...
|
|
37
|
+
# (even cleaner in Yaml since we don't need quotes!)
|
|
38
|
+
use_layout file: 'cells.yml'
|
|
39
|
+
rect layout: :example
|
|
40
|
+
rect layout: :extends_example
|
|
41
|
+
|
|
42
|
+
save_png prefix: 'cells_'
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
# You can customize this with the cell_px configuration option
|
|
47
|
+
Squib::Deck.new(width: 100, height: 100, config: 'cell_config.yml') do
|
|
48
|
+
background color: :white
|
|
49
|
+
rect x: '1c', y: '1c', width: '1c', height: '1c', fill_color: :purple
|
|
50
|
+
save_png prefix: 'custom_cell_'
|
|
51
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
require_relative '../../lib/squib'
|
|
2
|
+
|
|
3
|
+
# Lots of DSL methods have shorthands that are accepted for
|
|
4
|
+
# x, y, width, and height parameters.
|
|
5
|
+
Squib::Deck.new(width: '0.5in', height: '0.25in') do
|
|
6
|
+
background color: :white
|
|
7
|
+
|
|
8
|
+
# middle for x and y will resolve to half the height
|
|
9
|
+
text str: 'xymiddle', font: 'Sans Bold 3', hint: :red,
|
|
10
|
+
x: 'middle', y: :middle
|
|
11
|
+
|
|
12
|
+
# 'center' also works
|
|
13
|
+
rect width: 30, height: 30,
|
|
14
|
+
x: :center, y: 'center'
|
|
15
|
+
|
|
16
|
+
# Applies to shapes
|
|
17
|
+
triangle x1: 20, y1: 20,
|
|
18
|
+
x2: 60, y2: 20,
|
|
19
|
+
x3: :middle, y3: :middle
|
|
20
|
+
|
|
21
|
+
# We can also do width-, height-, width/, height/
|
|
22
|
+
rect x: 20, y: 5, stroke_color: :green,
|
|
23
|
+
width: 'deck - 0.1in', height: 10
|
|
24
|
+
|
|
25
|
+
rect x: 10, y: 50, width: 10, height: 'deck / 3',
|
|
26
|
+
stroke_color: :purple
|
|
27
|
+
|
|
28
|
+
# And middle+/-
|
|
29
|
+
rect x: 'middle + 0.1in', y: 'center - 0.1in',
|
|
30
|
+
width: '0.1in', height: '0.1in', fill_color: :blue
|
|
31
|
+
|
|
32
|
+
# Layouts apply this too.
|
|
33
|
+
use_layout file: 'shorthands.yml'
|
|
34
|
+
rect layout: :example
|
|
35
|
+
|
|
36
|
+
# HOWEVER! Shorthands don't combine in an "extends" situation,
|
|
37
|
+
# e.g. this won't work:
|
|
38
|
+
# parent:
|
|
39
|
+
# x: middle
|
|
40
|
+
# child:
|
|
41
|
+
# extends: parent
|
|
42
|
+
# x: += 0.5in
|
|
43
|
+
|
|
44
|
+
# These shorthands are not intended for every xywh parameter or
|
|
45
|
+
# length parameter, see docs for when they do or do not apply.
|
|
46
|
+
|
|
47
|
+
save_png prefix: 'shorthand_'
|
|
48
|
+
end
|
data/samples/units/_units.rb
CHANGED
|
@@ -23,10 +23,17 @@ Squib::Deck.new(width: '1.5in', height: '1.5in') do
|
|
|
23
23
|
width: safe_width, height: safe_height,
|
|
24
24
|
radius: '2 mm '
|
|
25
25
|
|
|
26
|
+
# Angles are also automatically converted to radians if you use deg
|
|
27
|
+
svg file: '../spanner.svg',
|
|
28
|
+
x: 100, y: 100, width: 40, height: 40, angle: '30deg'
|
|
29
|
+
|
|
26
30
|
# We can also do stuff in layout. Check out the yml file...
|
|
27
31
|
# (even cleaner in Yaml since we don't need quotes!)
|
|
28
32
|
use_layout file: 'using_units.yml'
|
|
29
33
|
text str: 'Hello.', layout: :example
|
|
34
|
+
svg file: '../spanner.svg', layout: :angled
|
|
30
35
|
|
|
31
36
|
save prefix: 'units_', format: :png
|
|
37
|
+
|
|
38
|
+
# But wait... there's more! See _shorthands.rb for more fanciness with units
|
|
32
39
|
end
|
data/squib.gemspec
CHANGED
|
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
|
|
|
7
7
|
spec.specification_version = 2 if spec.respond_to? :specification_version=
|
|
8
8
|
spec.required_rubygems_version = Gem::Requirement.new('>= 0') if spec.respond_to? :required_rubygems_version=
|
|
9
9
|
spec.rubygems_version = '2.2.2'
|
|
10
|
-
spec.required_ruby_version = '>= 2.
|
|
10
|
+
spec.required_ruby_version = '>= 2.5.0'
|
|
11
11
|
|
|
12
12
|
spec.name = 'squib'
|
|
13
13
|
spec.version = Squib::VERSION
|
|
@@ -15,9 +15,11 @@ Gem::Specification.new do |spec|
|
|
|
15
15
|
|
|
16
16
|
spec.summary = 'A Ruby DSL for prototyping card games'
|
|
17
17
|
spec.description = 'Squib is a Ruby DSL for prototyping card games'
|
|
18
|
+
spec.post_install_message = 'Happy Squibbing!'
|
|
18
19
|
spec.authors = ['Andy Meneely']
|
|
19
20
|
spec.email = 'andy.meneely@gmail.com'
|
|
20
21
|
spec.homepage = 'https://github.com/andymeneely/squib'
|
|
22
|
+
spec.requirements << 'On Windows, you need the Ruby+DevKit. See https://rubyinstaller.org/downloads'
|
|
21
23
|
|
|
22
24
|
spec.rdoc_options = ['--charset=UTF-8']
|
|
23
25
|
spec.extra_rdoc_files = Dir['README.md', 'samples/**/*.rb']
|
|
@@ -29,20 +31,24 @@ Gem::Specification.new do |spec|
|
|
|
29
31
|
spec.test_files = spec.files.grep(/^(spec|samples|docs|benchmarks)\//)
|
|
30
32
|
spec.require_paths = ['lib']
|
|
31
33
|
|
|
32
|
-
spec.add_runtime_dependency 'cairo', '~> 1.
|
|
33
|
-
spec.add_runtime_dependency 'classy_hash', '0.
|
|
34
|
+
spec.add_runtime_dependency 'cairo', '~> 1.17'
|
|
35
|
+
spec.add_runtime_dependency 'classy_hash', '1.0.0'
|
|
34
36
|
spec.add_runtime_dependency 'gio2', '~> 3.4'
|
|
35
37
|
spec.add_runtime_dependency 'gobject-introspection', '~> 3.4'
|
|
36
|
-
spec.add_runtime_dependency 'highline', '2.0.
|
|
37
|
-
spec.add_runtime_dependency 'mercenary', '0.
|
|
38
|
-
spec.add_runtime_dependency 'nokogiri', '1.
|
|
38
|
+
spec.add_runtime_dependency 'highline', '2.0.3'
|
|
39
|
+
spec.add_runtime_dependency 'mercenary', '0.4.0'
|
|
40
|
+
spec.add_runtime_dependency 'nokogiri', '~> 1.11'
|
|
39
41
|
spec.add_runtime_dependency 'pango', '~> 3.4'
|
|
40
|
-
spec.add_runtime_dependency '
|
|
42
|
+
spec.add_runtime_dependency 'rainbow', '~> 3.0'
|
|
43
|
+
spec.add_runtime_dependency 'roo', '~> 2.8'
|
|
41
44
|
spec.add_runtime_dependency 'rsvg2', '~> 3.4'
|
|
42
|
-
spec.add_runtime_dependency 'ruby-progressbar', '~> 1.
|
|
45
|
+
spec.add_runtime_dependency 'ruby-progressbar', '~> 1.11'
|
|
43
46
|
|
|
47
|
+
spec.add_development_dependency 'activesupport'
|
|
44
48
|
spec.add_development_dependency 'bundler'
|
|
45
49
|
spec.add_development_dependency 'coveralls', '>= 0.8.21'
|
|
50
|
+
spec.add_development_dependency 'guard'
|
|
51
|
+
spec.add_development_dependency 'guard-rake'
|
|
46
52
|
spec.add_development_dependency 'game_icons'
|
|
47
53
|
spec.add_development_dependency 'launchy'
|
|
48
54
|
spec.add_development_dependency 'rake'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: squib
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.17.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andy Meneely
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-07-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cairo
|
|
@@ -16,28 +16,28 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.
|
|
19
|
+
version: '1.17'
|
|
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.
|
|
26
|
+
version: '1.17'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: classy_hash
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - '='
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
33
|
+
version: 1.0.0
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - '='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.
|
|
40
|
+
version: 1.0.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: gio2
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -72,42 +72,42 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - '='
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 2.0.
|
|
75
|
+
version: 2.0.3
|
|
76
76
|
type: :runtime
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - '='
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 2.0.
|
|
82
|
+
version: 2.0.3
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: mercenary
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
87
|
- - '='
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 0.
|
|
89
|
+
version: 0.4.0
|
|
90
90
|
type: :runtime
|
|
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: 0.
|
|
96
|
+
version: 0.4.0
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: nokogiri
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
|
-
- -
|
|
101
|
+
- - "~>"
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: 1.
|
|
103
|
+
version: '1.11'
|
|
104
104
|
type: :runtime
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
|
-
- -
|
|
108
|
+
- - "~>"
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: 1.
|
|
110
|
+
version: '1.11'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
112
|
name: pango
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -122,20 +122,34 @@ dependencies:
|
|
|
122
122
|
- - "~>"
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
124
|
version: '3.4'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: rainbow
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '3.0'
|
|
132
|
+
type: :runtime
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '3.0'
|
|
125
139
|
- !ruby/object:Gem::Dependency
|
|
126
140
|
name: roo
|
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
|
128
142
|
requirements:
|
|
129
|
-
- -
|
|
143
|
+
- - "~>"
|
|
130
144
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: 2.8
|
|
145
|
+
version: '2.8'
|
|
132
146
|
type: :runtime
|
|
133
147
|
prerelease: false
|
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
149
|
requirements:
|
|
136
|
-
- -
|
|
150
|
+
- - "~>"
|
|
137
151
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: 2.8
|
|
152
|
+
version: '2.8'
|
|
139
153
|
- !ruby/object:Gem::Dependency
|
|
140
154
|
name: rsvg2
|
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -156,14 +170,28 @@ dependencies:
|
|
|
156
170
|
requirements:
|
|
157
171
|
- - "~>"
|
|
158
172
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: '1.
|
|
173
|
+
version: '1.11'
|
|
160
174
|
type: :runtime
|
|
161
175
|
prerelease: false
|
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
177
|
requirements:
|
|
164
178
|
- - "~>"
|
|
165
179
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '1.
|
|
180
|
+
version: '1.11'
|
|
181
|
+
- !ruby/object:Gem::Dependency
|
|
182
|
+
name: activesupport
|
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
|
184
|
+
requirements:
|
|
185
|
+
- - ">="
|
|
186
|
+
- !ruby/object:Gem::Version
|
|
187
|
+
version: '0'
|
|
188
|
+
type: :development
|
|
189
|
+
prerelease: false
|
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
191
|
+
requirements:
|
|
192
|
+
- - ">="
|
|
193
|
+
- !ruby/object:Gem::Version
|
|
194
|
+
version: '0'
|
|
167
195
|
- !ruby/object:Gem::Dependency
|
|
168
196
|
name: bundler
|
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -192,6 +220,34 @@ dependencies:
|
|
|
192
220
|
- - ">="
|
|
193
221
|
- !ruby/object:Gem::Version
|
|
194
222
|
version: 0.8.21
|
|
223
|
+
- !ruby/object:Gem::Dependency
|
|
224
|
+
name: guard
|
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
|
226
|
+
requirements:
|
|
227
|
+
- - ">="
|
|
228
|
+
- !ruby/object:Gem::Version
|
|
229
|
+
version: '0'
|
|
230
|
+
type: :development
|
|
231
|
+
prerelease: false
|
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
233
|
+
requirements:
|
|
234
|
+
- - ">="
|
|
235
|
+
- !ruby/object:Gem::Version
|
|
236
|
+
version: '0'
|
|
237
|
+
- !ruby/object:Gem::Dependency
|
|
238
|
+
name: guard-rake
|
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
|
240
|
+
requirements:
|
|
241
|
+
- - ">="
|
|
242
|
+
- !ruby/object:Gem::Version
|
|
243
|
+
version: '0'
|
|
244
|
+
type: :development
|
|
245
|
+
prerelease: false
|
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
247
|
+
requirements:
|
|
248
|
+
- - ">="
|
|
249
|
+
- !ruby/object:Gem::Version
|
|
250
|
+
version: '0'
|
|
195
251
|
- !ruby/object:Gem::Dependency
|
|
196
252
|
name: game_icons
|
|
197
253
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -298,10 +354,11 @@ extra_rdoc_files:
|
|
|
298
354
|
- samples/ranges/_ranges.rb
|
|
299
355
|
- samples/saves/_hand.rb
|
|
300
356
|
- samples/saves/_portrait_landscape.rb
|
|
301
|
-
- samples/saves/_saves.rb
|
|
302
357
|
- samples/saves/_save_filenames.rb
|
|
303
358
|
- samples/saves/_save_pdf.rb
|
|
359
|
+
- samples/saves/_saves.rb
|
|
304
360
|
- samples/saves/_showcase.rb
|
|
361
|
+
- samples/shadows/_shadow.rb
|
|
305
362
|
- samples/shapes/_draw_shapes.rb
|
|
306
363
|
- samples/shapes/_proofs.rb
|
|
307
364
|
- samples/sprues/_advanced_sprues.rb
|
|
@@ -310,35 +367,29 @@ extra_rdoc_files:
|
|
|
310
367
|
- samples/sprues/_hex_tiles.rb
|
|
311
368
|
- samples/sprues/_mints.rb
|
|
312
369
|
- samples/sprues/_sprue_example.rb
|
|
313
|
-
- samples/
|
|
370
|
+
- samples/system_font_debug/_list_fonts.rb
|
|
314
371
|
- samples/text/_embed_text.rb
|
|
315
372
|
- samples/text/_text.rb
|
|
316
373
|
- samples/text/_text_options.rb
|
|
374
|
+
- samples/text/bug134.rb
|
|
375
|
+
- samples/units/_cells.rb
|
|
376
|
+
- samples/units/_shorthands.rb
|
|
317
377
|
- samples/units/_units.rb
|
|
318
378
|
files:
|
|
379
|
+
- ".github/workflows/tests.yml"
|
|
319
380
|
- ".gitignore"
|
|
320
|
-
- ".travis.yml"
|
|
321
381
|
- CHANGELOG.md
|
|
322
382
|
- CONTRIBUTING.md
|
|
323
383
|
- Dockerfile
|
|
324
384
|
- Gemfile
|
|
385
|
+
- Guardfile
|
|
325
386
|
- LICENSE.txt
|
|
326
387
|
- README.md
|
|
327
388
|
- RELEASE TODO.md
|
|
328
389
|
- Rakefile
|
|
329
|
-
- appveyor.yml
|
|
330
390
|
- bin/squib
|
|
331
391
|
- lib/squib.rb
|
|
332
|
-
- lib/squib/api/background.rb
|
|
333
|
-
- lib/squib/api/data.rb
|
|
334
|
-
- lib/squib/api/groups.rb
|
|
335
|
-
- lib/squib/api/image.rb
|
|
336
|
-
- lib/squib/api/save.rb
|
|
337
392
|
- lib/squib/api/settings.rb
|
|
338
|
-
- lib/squib/api/shapes.rb
|
|
339
|
-
- lib/squib/api/text.rb
|
|
340
|
-
- lib/squib/api/text_embed.rb
|
|
341
|
-
- lib/squib/api/units.rb
|
|
342
393
|
- lib/squib/args/arg_loader.rb
|
|
343
394
|
- lib/squib/args/box.rb
|
|
344
395
|
- lib/squib/args/card_range.rb
|
|
@@ -347,6 +398,7 @@ files:
|
|
|
347
398
|
- lib/squib/args/csv_opts.rb
|
|
348
399
|
- lib/squib/args/dir_validator.rb
|
|
349
400
|
- lib/squib/args/draw.rb
|
|
401
|
+
- lib/squib/args/drop_shadow.rb
|
|
350
402
|
- lib/squib/args/embed_adjust.rb
|
|
351
403
|
- lib/squib/args/embed_key.rb
|
|
352
404
|
- lib/squib/args/hand_special.rb
|
|
@@ -363,6 +415,7 @@ files:
|
|
|
363
415
|
- lib/squib/args/transform.rb
|
|
364
416
|
- lib/squib/args/typographer.rb
|
|
365
417
|
- lib/squib/args/unit_conversion.rb
|
|
418
|
+
- lib/squib/args/xywh_shorthands.rb
|
|
366
419
|
- lib/squib/builtin/layouts/economy.yml
|
|
367
420
|
- lib/squib/builtin/layouts/fantasy.yml
|
|
368
421
|
- lib/squib/builtin/layouts/hand.yml
|
|
@@ -413,6 +466,34 @@ files:
|
|
|
413
466
|
- lib/squib/conf.rb
|
|
414
467
|
- lib/squib/constants.rb
|
|
415
468
|
- lib/squib/deck.rb
|
|
469
|
+
- lib/squib/dsl/background.rb
|
|
470
|
+
- lib/squib/dsl/circle.rb
|
|
471
|
+
- lib/squib/dsl/csv.rb
|
|
472
|
+
- lib/squib/dsl/curve.rb
|
|
473
|
+
- lib/squib/dsl/cut_zone.rb
|
|
474
|
+
- lib/squib/dsl/ellipse.rb
|
|
475
|
+
- lib/squib/dsl/grid.rb
|
|
476
|
+
- lib/squib/dsl/groups.rb
|
|
477
|
+
- lib/squib/dsl/hand.rb
|
|
478
|
+
- lib/squib/dsl/line.rb
|
|
479
|
+
- lib/squib/dsl/png.rb
|
|
480
|
+
- lib/squib/dsl/polygon.rb
|
|
481
|
+
- lib/squib/dsl/rect.rb
|
|
482
|
+
- lib/squib/dsl/safe_zone.rb
|
|
483
|
+
- lib/squib/dsl/save.rb
|
|
484
|
+
- lib/squib/dsl/save_pdf.rb
|
|
485
|
+
- lib/squib/dsl/save_png.rb
|
|
486
|
+
- lib/squib/dsl/save_sheet.rb
|
|
487
|
+
- lib/squib/dsl/showcase.rb
|
|
488
|
+
- lib/squib/dsl/star.rb
|
|
489
|
+
- lib/squib/dsl/svg.rb
|
|
490
|
+
- lib/squib/dsl/text.rb
|
|
491
|
+
- lib/squib/dsl/text_embed.rb
|
|
492
|
+
- lib/squib/dsl/triangle.rb
|
|
493
|
+
- lib/squib/dsl/units.rb
|
|
494
|
+
- lib/squib/dsl/xlsx.rb
|
|
495
|
+
- lib/squib/dsl/yaml.rb
|
|
496
|
+
- lib/squib/errors_warnings/warn_unexpected_params.rb
|
|
416
497
|
- lib/squib/graphics/background.rb
|
|
417
498
|
- lib/squib/graphics/cairo_context_wrapper.rb
|
|
418
499
|
- lib/squib/graphics/embedding_utils.rb
|
|
@@ -426,7 +507,11 @@ files:
|
|
|
426
507
|
- lib/squib/graphics/shapes.rb
|
|
427
508
|
- lib/squib/graphics/showcase.rb
|
|
428
509
|
- lib/squib/graphics/text.rb
|
|
510
|
+
- lib/squib/import/csv_importer.rb
|
|
429
511
|
- lib/squib/import/data_frame.rb
|
|
512
|
+
- lib/squib/import/quantity_exploder.rb
|
|
513
|
+
- lib/squib/import/xlsx_importer.rb
|
|
514
|
+
- lib/squib/import/yaml_importer.rb
|
|
430
515
|
- lib/squib/layout_parser.rb
|
|
431
516
|
- lib/squib/progress.rb
|
|
432
517
|
- lib/squib/sample_helpers.rb
|
|
@@ -435,6 +520,7 @@ files:
|
|
|
435
520
|
- lib/squib/sprues/invalid_sprue_definition.rb
|
|
436
521
|
- lib/squib/sprues/sprue.rb
|
|
437
522
|
- lib/squib/sprues/sprue_schema.rb
|
|
523
|
+
- lib/squib/system_fonts.rb
|
|
438
524
|
- lib/squib/version.rb
|
|
439
525
|
- samples/autoscale_font/_autoscale_font.rb
|
|
440
526
|
- samples/backend/_backend.rb
|
|
@@ -469,6 +555,7 @@ files:
|
|
|
469
555
|
- samples/saves/_save_pdf.rb
|
|
470
556
|
- samples/saves/_saves.rb
|
|
471
557
|
- samples/saves/_showcase.rb
|
|
558
|
+
- samples/shadows/_shadow.rb
|
|
472
559
|
- samples/shapes/_draw_shapes.rb
|
|
473
560
|
- samples/shapes/_proofs.rb
|
|
474
561
|
- samples/sprues/_advanced_sprues.rb
|
|
@@ -477,17 +564,20 @@ files:
|
|
|
477
564
|
- samples/sprues/_hex_tiles.rb
|
|
478
565
|
- samples/sprues/_mints.rb
|
|
479
566
|
- samples/sprues/_sprue_example.rb
|
|
567
|
+
- samples/system_font_debug/_list_fonts.rb
|
|
480
568
|
- samples/text/_embed_text.rb
|
|
481
569
|
- samples/text/_text.rb
|
|
482
570
|
- samples/text/_text_options.rb
|
|
483
571
|
- samples/text/bug134.rb
|
|
572
|
+
- samples/units/_cells.rb
|
|
573
|
+
- samples/units/_shorthands.rb
|
|
484
574
|
- samples/units/_units.rb
|
|
485
575
|
- squib.gemspec
|
|
486
576
|
homepage: https://github.com/andymeneely/squib
|
|
487
577
|
licenses:
|
|
488
578
|
- MIT
|
|
489
579
|
metadata: {}
|
|
490
|
-
post_install_message:
|
|
580
|
+
post_install_message: Happy Squibbing!
|
|
491
581
|
rdoc_options:
|
|
492
582
|
- "--charset=UTF-8"
|
|
493
583
|
require_paths:
|
|
@@ -496,15 +586,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
496
586
|
requirements:
|
|
497
587
|
- - ">="
|
|
498
588
|
- !ruby/object:Gem::Version
|
|
499
|
-
version: 2.
|
|
589
|
+
version: 2.5.0
|
|
500
590
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
501
591
|
requirements:
|
|
502
592
|
- - ">="
|
|
503
593
|
- !ruby/object:Gem::Version
|
|
504
594
|
version: '0'
|
|
505
|
-
requirements:
|
|
506
|
-
|
|
507
|
-
|
|
595
|
+
requirements:
|
|
596
|
+
- On Windows, you need the Ruby+DevKit. See https://rubyinstaller.org/downloads
|
|
597
|
+
rubygems_version: 3.2.15
|
|
598
|
+
signing_key:
|
|
508
599
|
specification_version: 2
|
|
509
600
|
summary: A Ruby DSL for prototyping card games
|
|
510
601
|
test_files:
|
|
@@ -541,6 +632,7 @@ test_files:
|
|
|
541
632
|
- samples/saves/_save_pdf.rb
|
|
542
633
|
- samples/saves/_saves.rb
|
|
543
634
|
- samples/saves/_showcase.rb
|
|
635
|
+
- samples/shadows/_shadow.rb
|
|
544
636
|
- samples/shapes/_draw_shapes.rb
|
|
545
637
|
- samples/shapes/_proofs.rb
|
|
546
638
|
- samples/sprues/_advanced_sprues.rb
|
|
@@ -549,8 +641,11 @@ test_files:
|
|
|
549
641
|
- samples/sprues/_hex_tiles.rb
|
|
550
642
|
- samples/sprues/_mints.rb
|
|
551
643
|
- samples/sprues/_sprue_example.rb
|
|
644
|
+
- samples/system_font_debug/_list_fonts.rb
|
|
552
645
|
- samples/text/_embed_text.rb
|
|
553
646
|
- samples/text/_text.rb
|
|
554
647
|
- samples/text/_text_options.rb
|
|
555
648
|
- samples/text/bug134.rb
|
|
649
|
+
- samples/units/_cells.rb
|
|
650
|
+
- samples/units/_shorthands.rb
|
|
556
651
|
- samples/units/_units.rb
|