squib 0.14.3.pre1 → 0.15.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/.travis.yml +5 -7
- data/CHANGELOG.md +17 -1
- data/Dockerfile +25 -0
- data/README.md +1 -1
- data/appveyor.yml +7 -6
- data/lib/squib/args/import.rb +1 -1
- data/lib/squib/args/sheet.rb +1 -1
- data/lib/squib/args/showcase_special.rb +4 -1
- data/lib/squib/args/svg_special.rb +1 -1
- data/lib/squib/builtin/projects/advanced/config.yml +0 -4
- data/lib/squib/builtin/projects/basic/config.yml +0 -4
- data/lib/squib/commands/make_sprue.rb +2 -0
- data/lib/squib/conf.rb +0 -5
- data/lib/squib/graphics/cairo_context_wrapper.rb +2 -2
- data/lib/squib/graphics/image.rb +0 -6
- data/lib/squib/graphics/save_sprue.rb +25 -10
- data/lib/squib/graphics/showcase.rb +1 -1
- data/lib/squib/sprues/sprue.rb +3 -0
- data/lib/squib/sprues/sprue_schema.rb +4 -2
- data/lib/squib/version.rb +1 -1
- data/samples/colors/_colors.rb +11 -5
- data/samples/colors/_switch_color.rb +33 -0
- data/samples/images/_more_load_images.rb +1 -1
- data/samples/saves/_save_filenames.rb +24 -0
- data/samples/sprues/_advanced_sprues.rb +4 -3
- data/squib.gemspec +11 -11
- metadata +33 -29
- data/samples/bug256/_bug256.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b077243c2c4f5a02c6078f083718a80a1891b8c00b96aa74e2153febef85dd1
|
4
|
+
data.tar.gz: 63ae0b6ad0887bfb3b00eae08896a67e74f479de195f9555052e7827bc1c7552
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2da10c5460d33005f5cd4fbef365021d51901fdd11ab32712f1a30653880f1ae1bc86727e8c70b065a64d752b4e3c3052382827504c7e6088811afa1d0d073f
|
7
|
+
data.tar.gz: 849c32f5a2d9704d81aea759a5c921b2d5fb5eaf3bc2ddd76b3fa1e2e37c4083d3bdd9ba502138d2bc03c839fee5c5c16367ddfd32e6206317ee19f4757d1d74
|
data/.travis.yml
CHANGED
@@ -1,19 +1,17 @@
|
|
1
|
-
dist: trusty
|
2
1
|
language: ruby
|
3
2
|
sudo: true # need this for libgirepository1.0-dev
|
4
|
-
# sudo: false # taking advantage of container-based infrastructure
|
5
|
-
# cache: bundler # cache bundled gems from build to build
|
6
3
|
addons:
|
7
4
|
apt:
|
8
5
|
packages:
|
9
6
|
- libgirepository1.0-dev # for gobject-introspection
|
10
7
|
rvm:
|
11
|
-
- 2.2
|
12
|
-
- 2.3.3
|
13
|
-
- 2.4.1
|
14
8
|
- 2.4.2
|
15
|
-
- 2.5.
|
9
|
+
- 2.5.3
|
10
|
+
- 2.6.3
|
16
11
|
- ruby-head
|
12
|
+
before_install:
|
13
|
+
- gem update --system
|
14
|
+
- gem install bundler
|
17
15
|
matrix:
|
18
16
|
allow_failures:
|
19
17
|
- rvm: ruby-head
|
data/CHANGELOG.md
CHANGED
@@ -5,12 +5,28 @@ Squib follows [semantic versioning](http://semver.org).
|
|
5
5
|
|
6
6
|
Features:
|
7
7
|
* Added check for malformed PNG files (#250, #218)
|
8
|
+
* Sprues: you can now flip individual cards (#251)
|
9
|
+
|
10
|
+
Bugs
|
11
|
+
* `trim_radius` now defaults to 0 on `save_pdf`, not 38. (#270)
|
12
|
+
* `explode` on `xlsx` and `csv` now defaults to `qty`, not `Qty` (#262)
|
8
13
|
|
9
14
|
Docs:
|
10
15
|
* Documented the n-sided-ness of polygons and stars
|
11
16
|
* svg: document rasterization on mask (#192)
|
17
|
+
* Document how to run the code (#186)
|
18
|
+
* Document some ways of using `prefix` in `save_png` (#268)
|
19
|
+
* `showcase` option `trim_radius` defaults to 38, not 0
|
20
|
+
* Add sample for color switch in colors docs (#274)
|
21
|
+
|
22
|
+
Chores:
|
23
|
+
* Bumped deps: Pango et al. to 3.3.6, Cairo to 1.16.4, Nokogiri to 1.10.3, Highline to 2.0.2
|
24
|
+
|
25
|
+
Compatibility:
|
26
|
+
* A LOT more pre-defined colors built into Cairo. Some of the named colors got redefined with the upgrade to the latest Cairo. This means that named colors like `:gray` and `:green` may look slightly different.
|
27
|
+
* Dropped support for EOL'd Rubies. Minimum support is 2.4
|
12
28
|
|
13
|
-
Special thanks to @lcarlsen
|
29
|
+
Special thanks to @lcarlsen, @Karneades
|
14
30
|
|
15
31
|
## v0.14.2 / 2018-08-01
|
16
32
|
|
data/Dockerfile
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
FROM ruby:2.5-alpine
|
2
|
+
WORKDIR /usr/src/app
|
3
|
+
|
4
|
+
LABEL org.squib.url=http://squib.rocks \
|
5
|
+
org.squib.github=https://github.com/andymeneely/squib
|
6
|
+
|
7
|
+
RUN apk --no-cache add --update \
|
8
|
+
ruby-dev \
|
9
|
+
build-base \
|
10
|
+
libxml2-dev \
|
11
|
+
libxslt-dev \
|
12
|
+
pcre-dev \
|
13
|
+
libffi-dev \
|
14
|
+
cairo
|
15
|
+
|
16
|
+
# Just for devving on
|
17
|
+
COPY . /app
|
18
|
+
|
19
|
+
CMD ["sh"]
|
20
|
+
|
21
|
+
# RUN gem install \
|
22
|
+
# squib \
|
23
|
+
# -- --use-system-libraries
|
24
|
+
|
25
|
+
# NOTE: STILL UNDER DEVELOPMENT! Don't use this just yet.
|
data/README.md
CHANGED
data/appveyor.yml
CHANGED
@@ -4,21 +4,22 @@ skip_tags: true
|
|
4
4
|
|
5
5
|
environment:
|
6
6
|
matrix:
|
7
|
-
- ruby_version: "
|
8
|
-
- ruby_version: "
|
7
|
+
- ruby_version: "24"
|
8
|
+
- ruby_version: "24-x64"
|
9
|
+
- ruby_version: "25"
|
10
|
+
- ruby_version: "25-x64"
|
11
|
+
- ruby_version: "26"
|
12
|
+
- ruby_version: "26-x64"
|
9
13
|
|
10
14
|
install:
|
11
15
|
- SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
|
12
16
|
- ruby --version
|
13
17
|
- gem --version
|
14
|
-
- gem install bundler
|
18
|
+
- gem install bundler
|
15
19
|
- bundler --version
|
16
20
|
- bundle install
|
17
21
|
|
18
22
|
test_script:
|
19
23
|
- rake
|
20
24
|
|
21
|
-
artifacts:
|
22
|
-
- path: pkg\*.gem
|
23
|
-
|
24
25
|
build: off
|
data/lib/squib/args/import.rb
CHANGED
data/lib/squib/args/sheet.rb
CHANGED
@@ -47,7 +47,3 @@ warn_ellipsize: true # default
|
|
47
47
|
# By default, Squib will warn if a PNG is being up-scaled.
|
48
48
|
warn_png_scale: true # default
|
49
49
|
# warn_png_scale: false # turn off entirely
|
50
|
-
|
51
|
-
# By default, Squib warns if you try to draw an image at zero width or height
|
52
|
-
warn_zero_size_image: true # default
|
53
|
-
# warn_zero_size_image: false # turn off warnings
|
@@ -47,7 +47,3 @@
|
|
47
47
|
# By default, Squib will warn if a PNG is being up-scaled.
|
48
48
|
# warn_png_scale: true # default
|
49
49
|
# warn_png_scale: false # turn off entirely
|
50
|
-
|
51
|
-
# By default, Squib warns if you try to draw an image at zero width or height
|
52
|
-
# warn_zero_size_image: true # default
|
53
|
-
# warn_zero_size_image: false # turn off warnings
|
data/lib/squib/conf.rb
CHANGED
@@ -35,7 +35,6 @@ module Squib
|
|
35
35
|
'text_hint' => 'off',
|
36
36
|
'warn_ellipsize' => true,
|
37
37
|
'warn_png_scale' => true,
|
38
|
-
'warn_zero_size_image' => true,
|
39
38
|
}
|
40
39
|
|
41
40
|
# Translate the hints to the methods.
|
@@ -121,10 +120,6 @@ module Squib
|
|
121
120
|
def warn_png_scale?
|
122
121
|
@config_hash['warn_png_scale']
|
123
122
|
end
|
124
|
-
|
125
|
-
def warn_zero_size_image?
|
126
|
-
@config_hash['warn_zero_size_image']
|
127
|
-
end
|
128
123
|
|
129
124
|
private
|
130
125
|
|
@@ -20,11 +20,11 @@ module Squib
|
|
20
20
|
|
21
21
|
def_delegators :cairo_cxt, :save, :set_source_color, :paint, :restore,
|
22
22
|
:translate, :rotate, :move_to, :update_pango_layout, :width, :height,
|
23
|
-
:show_pango_layout, :rounded_rectangle, :set_line_width, :stroke, :fill,
|
23
|
+
:show_pango_layout, :rectangle, :rounded_rectangle, :set_line_width, :stroke, :fill,
|
24
24
|
:set_source, :scale, :render_rsvg_handle, :circle, :triangle, :line_to,
|
25
25
|
:operator=, :show_page, :clip, :transform, :mask, :create_pango_layout,
|
26
26
|
:antialias=, :curve_to, :matrix, :matrix=, :identity_matrix, :pango_layout_path,
|
27
|
-
:stroke_preserve, :target, :new_path, :fill_preserve, :close_path,
|
27
|
+
:stroke_preserve, :target, :new_path, :new_sub_path, :reset_clip, :fill_preserve, :close_path,
|
28
28
|
:set_line_join, :set_line_cap, :set_dash, :arc, :arc_negative
|
29
29
|
|
30
30
|
# :nodoc:
|
data/lib/squib/graphics/image.rb
CHANGED
@@ -81,12 +81,6 @@ module Squib
|
|
81
81
|
Squib.logger.debug {"Rendering: #{file}, id: #{id} @#{x},#{y} #{width}x#{height}, alpha: #{alpha}, blend: #{blend}, angle: #{angle}, mask: #{mask}"}
|
82
82
|
Squib.logger.warn 'Both an SVG file and SVG data were specified' unless file.to_s.empty? || svg_args.data.to_s.empty?
|
83
83
|
return if (file.nil? or file.eql? '') and svg_args.data.nil? # nothing specified TODO Move this out to arg validator
|
84
|
-
if(box.width == 0 || box.height == 0)
|
85
|
-
if @deck.conf.warn_zero_size_image?
|
86
|
-
Squib.logger.warn "svg: zero-sized width or height detected for #{file}. SVG not drawn."
|
87
|
-
end
|
88
|
-
return
|
89
|
-
end
|
90
84
|
svg_args.data = File.read(file) if svg_args.data.to_s.empty?
|
91
85
|
begin
|
92
86
|
svg = Rsvg::Handle.new_from_data(svg_args.data)
|
@@ -30,10 +30,11 @@ module Squib
|
|
30
30
|
slot = slots[i % per_sheet]
|
31
31
|
|
32
32
|
draw_card cc, card,
|
33
|
-
slot['x']
|
33
|
+
slot['x'] - @sheet_args.trim,
|
34
|
+
slot['y'] - @sheet_args.trim,
|
34
35
|
slot['rotate'],
|
36
|
+
slot['flip_vertical'], slot['flip_horizontal'],
|
35
37
|
@sheet_args.trim, @sheet_args.trim_radius
|
36
|
-
|
37
38
|
bar.increment
|
38
39
|
end
|
39
40
|
|
@@ -128,7 +129,7 @@ module Squib
|
|
128
129
|
(@deck.height - 2.0 * @sheet_args.trim) > @tmpl.card_height
|
129
130
|
end
|
130
131
|
|
131
|
-
def draw_card(cc, card, x, y, angle, trim, trim_radius)
|
132
|
+
def draw_card(cc, card, x, y, angle, flip_v, flip_h, trim, trim_radius)
|
132
133
|
# Compute the true size of the card after trimming
|
133
134
|
w = @deck.width - 2.0 * trim
|
134
135
|
h = @deck.height - 2.0 * trim
|
@@ -142,6 +143,7 @@ module Squib
|
|
142
143
|
mat = cc.matrix # Save the transformation matrix to revert later
|
143
144
|
cc.translate x, y
|
144
145
|
cc.translate @deck.width / 2.0, @deck.height / 2.0
|
146
|
+
cc.flip(flip_v, flip_h, 0, 0)
|
145
147
|
cc.rotate angle
|
146
148
|
cc.translate -@deck.width / 2.0, -@deck.height / 2.0
|
147
149
|
cc.rounded_rectangle(trim, trim, w, h, trim_radius, trim_radius) # clip
|
@@ -158,13 +160,25 @@ module Squib
|
|
158
160
|
def init_cc
|
159
161
|
ratio = 72.0 / @deck.dpi
|
160
162
|
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
163
|
+
slots = @tmpl.cards
|
164
|
+
per_sheet = slots.size
|
165
|
+
|
166
|
+
surface = if per_sheet == 1
|
167
|
+
Cairo::PDFSurface.new(
|
168
|
+
full_filename,
|
169
|
+
(@tmpl.sheet_width - 2 * @sheet_args.trim) * ratio,
|
170
|
+
(@tmpl.sheet_height - 2 *@sheet_args.trim) * ratio
|
171
|
+
)
|
172
|
+
else
|
173
|
+
Cairo::PDFSurface.new(
|
174
|
+
full_filename,
|
175
|
+
@tmpl.sheet_width * ratio,
|
176
|
+
@tmpl.sheet_height * ratio
|
177
|
+
)
|
178
|
+
end
|
166
179
|
|
167
|
-
cc = Cairo::Context.new(surface)
|
180
|
+
cc = CairoContextWrapper.new(Cairo::Context.new(surface))
|
181
|
+
# cc = Cairo::Context.new(surface)
|
168
182
|
cc.scale(72.0 / @deck.dpi, 72.0 / @deck.dpi) # make it like pixels
|
169
183
|
cc
|
170
184
|
end
|
@@ -185,7 +199,8 @@ module Squib
|
|
185
199
|
class SaveSpruePNG < SaveSprue
|
186
200
|
def init_cc
|
187
201
|
surface = Cairo::ImageSurface.new @tmpl.sheet_width, @tmpl.sheet_height
|
188
|
-
Cairo::Context.new(surface)
|
202
|
+
CairoContextWrapper.new(Cairo::Context.new(surface))
|
203
|
+
# Cairo::Context.new(surface)
|
189
204
|
end
|
190
205
|
|
191
206
|
def draw_page(cc)
|
@@ -21,7 +21,7 @@ module Squib
|
|
21
21
|
|
22
22
|
cards = range.collect { |i| @cards[i] }
|
23
23
|
cards.each_with_index do |card, i|
|
24
|
-
trimmed = trim_rounded(card.cairo_surface,
|
24
|
+
trimmed = trim_rounded(card.cairo_surface, showcase.trim, showcase.trim_radius)
|
25
25
|
reflected = reflect(trimmed, showcase.reflect_offset, showcase.reflect_percent, showcase.reflect_strength)
|
26
26
|
perspectived = perspective(reflected, showcase.scale, showcase.face_right?)
|
27
27
|
out_cc.set_source(perspectived, sheet.margin + i * perspectived.width * showcase.offset, sheet.margin)
|
data/lib/squib/sprues/sprue.rb
CHANGED
@@ -175,6 +175,8 @@ module Squib
|
|
175
175
|
new_card['y'] = y
|
176
176
|
new_card['rotate'] = parse_rotate_param(
|
177
177
|
card['rotate'] ? card['rotate'] : @template_hash['rotate'])
|
178
|
+
new_card['flip_vertical'] = card['flip_vertical'] == true
|
179
|
+
new_card['flip_horizontal'] = card['flip_horizontal'] == true
|
178
180
|
new_card
|
179
181
|
end
|
180
182
|
|
@@ -199,5 +201,6 @@ module Squib
|
|
199
201
|
val.to_f
|
200
202
|
end
|
201
203
|
end
|
204
|
+
|
202
205
|
end
|
203
206
|
end
|
@@ -41,8 +41,10 @@ module Squib
|
|
41
41
|
:optional, Numeric,
|
42
42
|
ClassyHash::G.enum(:clockwise, :counterclockwise, :turnaround),
|
43
43
|
ROTATE_REGEX
|
44
|
-
]
|
45
|
-
|
44
|
+
],
|
45
|
+
'flip_vertical' => [ :optional, FalseClass ],
|
46
|
+
'flip_horizontal' => [ :optional, FalseClass ],
|
47
|
+
}]]
|
46
48
|
}.freeze
|
47
49
|
end
|
48
50
|
end
|
data/lib/squib/version.rb
CHANGED
data/samples/colors/_colors.rb
CHANGED
@@ -19,17 +19,23 @@ Squib::Deck.new(width: 825, height: 1125, cards: 1) do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
# This script generates a table of the built-in constants
|
22
|
-
|
22
|
+
colors = (Cairo::Color.constants - %i(HEX_RE Base RGB CMYK HSV X11))
|
23
|
+
colors.sort_by! do |c|
|
24
|
+
hsv = Cairo::Color.parse(c).to_hsv
|
25
|
+
[(hsv.hue / 16.0).to_i, hsv.value, hsv.saturation]
|
26
|
+
end
|
27
|
+
w, h = 300, 50
|
28
|
+
deck_height = 4000
|
29
|
+
deck_width = (colors.size / ((deck_height / h) + 1)) * w
|
30
|
+
Squib::Deck.new(width: deck_width, height: deck_height) do
|
23
31
|
background color: :white
|
24
|
-
|
25
|
-
colors.sort_by! {|c| Cairo::Color.parse(c).to_s}
|
26
|
-
x, y, w, h = 0, 0, 300, 50
|
32
|
+
x, y = 0, 0
|
27
33
|
colors.each_with_index do |color, i|
|
28
34
|
rect x: x, y: y, width: w, height: h, fill_color: color
|
29
35
|
text str: color.to_s, x: x + 5, y: y + 13, font: 'Sans Bold 5',
|
30
36
|
color: (Cairo::Color.parse(color).to_hsv.v > 0.9) ? '#000' : '#fff'
|
31
37
|
y += h
|
32
|
-
if y >
|
38
|
+
if y > deck_height
|
33
39
|
x += w
|
34
40
|
y = 0
|
35
41
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'squib'
|
2
|
+
|
3
|
+
# Choose between black and white color theme for type snake
|
4
|
+
# * Allow using white snake cards with black text or
|
5
|
+
# black snake cards with white text
|
6
|
+
color = 'white'
|
7
|
+
|
8
|
+
cards = Squib.csv file: '_switch_color_data.csv', col_sep: "\t"
|
9
|
+
|
10
|
+
Squib::Deck.new cards: cards['Type'].size do
|
11
|
+
|
12
|
+
background_color = cards['Type'].map do |t|
|
13
|
+
if color == 'black' && t == "Snake" then
|
14
|
+
"black"
|
15
|
+
else
|
16
|
+
"white"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
background color: background_color
|
20
|
+
|
21
|
+
text_color = cards['Type'].map do |t|
|
22
|
+
if color == 'black' && t == "Snake" then
|
23
|
+
"white"
|
24
|
+
else
|
25
|
+
"black"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
text str: cards['Text'], color: text_color
|
30
|
+
|
31
|
+
save_png prefix: '_switch_color_sample_'
|
32
|
+
|
33
|
+
end
|
@@ -93,7 +93,7 @@ Squib::Deck.new(width: 825, height: 1125, cards: 1, config: 'load_images_config.
|
|
93
93
|
# but sometimes want to use none.
|
94
94
|
# e.g. id: [:attack, :defend, nil]
|
95
95
|
svg file: 'spanner.svg', width: :deck, height: :deck,
|
96
|
-
force_id: true, id:
|
96
|
+
force_id: true, id: nil # <-- the important part
|
97
97
|
|
98
98
|
# Squib can handle incorrectly formatted svg files
|
99
99
|
svg file: 'bad-svg.svg'
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'squib'
|
2
|
+
|
3
|
+
# This demonstrates the many ways you can save file to save_png and the like
|
4
|
+
Squib::Deck.new(width: 50, height: 50, cards: 2) do
|
5
|
+
background color: :white
|
6
|
+
text str: (0..16).to_a, font: 'Arial Bold 12'
|
7
|
+
|
8
|
+
# three digits, e.g. save_three_digits_000.png
|
9
|
+
save_png prefix: 'save_three_digits_', count_format: '%03d'
|
10
|
+
|
11
|
+
# foo_0.png
|
12
|
+
# bar_1.png
|
13
|
+
save_png prefix: ['foo_', 'bar_'], count_format: '%01d'
|
14
|
+
|
15
|
+
# foo.png
|
16
|
+
# bar.png
|
17
|
+
save_png prefix: ['foo', 'bar'], count_format: ''
|
18
|
+
|
19
|
+
# thief.png
|
20
|
+
# thug.png
|
21
|
+
data = csv data: "filename\nthief\nthug"
|
22
|
+
save_png prefix: data.filename, count_format: ''
|
23
|
+
|
24
|
+
end
|
@@ -1,4 +1,5 @@
|
|
1
|
-
require 'squib'
|
1
|
+
# require 'squib'
|
2
|
+
require_relative '../../lib/squib'
|
2
3
|
|
3
4
|
# This is a more advanced example of Sprues
|
4
5
|
# (mostly so we can have a torturous regression test)
|
@@ -14,10 +15,10 @@ Squib::Deck.new(cards: 6, width: '2.2in', height: '2.1in') do
|
|
14
15
|
|
15
16
|
circle x: width/2, y: height/2, radius: 20 # midpoint
|
16
17
|
|
17
|
-
text str: (0..9).map{ |i| "Card #{i}\n\n" },
|
18
|
+
text str: (0..9).map{ |i| "Card! #{i}\n\n" },
|
18
19
|
font: 'Sans 32', align: :center, valign: :middle,
|
19
20
|
height: :deck, width: :deck
|
20
|
-
|
21
|
+
|
21
22
|
save_sheet sprue: 'my_sprues/weird_sprue.yml',
|
22
23
|
trim: '0.2in', trim_radius: '10pt',
|
23
24
|
prefix: "advanced_sprues_"
|
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.4.0'
|
11
11
|
|
12
12
|
spec.name = 'squib'
|
13
13
|
spec.version = Squib::VERSION
|
@@ -29,17 +29,17 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.test_files = spec.files.grep(/^(spec|samples|docs|benchmarks)\//)
|
30
30
|
spec.require_paths = ['lib']
|
31
31
|
|
32
|
-
spec.add_runtime_dependency 'cairo', '1.
|
32
|
+
spec.add_runtime_dependency 'cairo', '1.16.4'
|
33
33
|
spec.add_runtime_dependency 'classy_hash', '0.2.1'
|
34
|
-
spec.add_runtime_dependency 'gio2', '3.
|
35
|
-
spec.add_runtime_dependency 'gobject-introspection', '3.
|
36
|
-
spec.add_runtime_dependency 'highline', '
|
34
|
+
spec.add_runtime_dependency 'gio2', '3.3.6'
|
35
|
+
spec.add_runtime_dependency 'gobject-introspection', '3.3.6'
|
36
|
+
spec.add_runtime_dependency 'highline', '2.0.2'
|
37
37
|
spec.add_runtime_dependency 'mercenary', '0.3.6'
|
38
|
-
spec.add_runtime_dependency 'nokogiri', '1.
|
39
|
-
spec.add_runtime_dependency 'pango', '3.
|
40
|
-
spec.add_runtime_dependency 'roo', '2.
|
41
|
-
spec.add_runtime_dependency 'rsvg2', '3.
|
42
|
-
spec.add_runtime_dependency 'ruby-progressbar', '1.
|
38
|
+
spec.add_runtime_dependency 'nokogiri', '1.10.3'
|
39
|
+
spec.add_runtime_dependency 'pango', '3.3.6'
|
40
|
+
spec.add_runtime_dependency 'roo', '2.8.2'
|
41
|
+
spec.add_runtime_dependency 'rsvg2', '3.3.6'
|
42
|
+
spec.add_runtime_dependency 'ruby-progressbar', '1.10.0'
|
43
43
|
|
44
44
|
spec.add_development_dependency 'bundler'
|
45
45
|
spec.add_development_dependency 'coveralls', '>= 0.8.21'
|
@@ -47,6 +47,6 @@ Gem::Specification.new do |spec|
|
|
47
47
|
spec.add_development_dependency 'launchy'
|
48
48
|
spec.add_development_dependency 'rake'
|
49
49
|
spec.add_development_dependency 'byebug'
|
50
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
50
|
+
spec.add_development_dependency 'rspec', '~> 3.8'
|
51
51
|
|
52
52
|
end
|
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.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Meneely
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cairo
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.16.4
|
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.16.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: classy_hash
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,42 +44,42 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.
|
47
|
+
version: 3.3.6
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.
|
54
|
+
version: 3.3.6
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: gobject-introspection
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 3.
|
61
|
+
version: 3.3.6
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 3.
|
68
|
+
version: 3.3.6
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: highline
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 2.0.2
|
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:
|
82
|
+
version: 2.0.2
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: mercenary
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,70 +100,70 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - '='
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 1.
|
103
|
+
version: 1.10.3
|
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.10.3
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: pango
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - '='
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 3.
|
117
|
+
version: 3.3.6
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - '='
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 3.
|
124
|
+
version: 3.3.6
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: roo
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - '='
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 2.
|
131
|
+
version: 2.8.2
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - '='
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 2.
|
138
|
+
version: 2.8.2
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: rsvg2
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - '='
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 3.
|
145
|
+
version: 3.3.6
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - '='
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 3.
|
152
|
+
version: 3.3.6
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: ruby-progressbar
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - '='
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.
|
159
|
+
version: 1.10.0
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - '='
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.
|
166
|
+
version: 1.10.0
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: bundler
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -254,14 +254,14 @@ dependencies:
|
|
254
254
|
requirements:
|
255
255
|
- - "~>"
|
256
256
|
- !ruby/object:Gem::Version
|
257
|
-
version: '3.
|
257
|
+
version: '3.8'
|
258
258
|
type: :development
|
259
259
|
prerelease: false
|
260
260
|
version_requirements: !ruby/object:Gem::Requirement
|
261
261
|
requirements:
|
262
262
|
- - "~>"
|
263
263
|
- !ruby/object:Gem::Version
|
264
|
-
version: '3.
|
264
|
+
version: '3.8'
|
265
265
|
description: Squib is a Ruby DSL for prototyping card games
|
266
266
|
email: andy.meneely@gmail.com
|
267
267
|
executables:
|
@@ -272,10 +272,10 @@ extra_rdoc_files:
|
|
272
272
|
- samples/autoscale_font/_autoscale_font.rb
|
273
273
|
- samples/backend/_backend.rb
|
274
274
|
- samples/basic.rb
|
275
|
-
- samples/bug256/_bug256.rb
|
276
275
|
- samples/build_groups/build_groups.rb
|
277
276
|
- samples/colors/_colors.rb
|
278
277
|
- samples/colors/_gradients.rb
|
278
|
+
- samples/colors/_switch_color.rb
|
279
279
|
- samples/config/config_text_markup.rb
|
280
280
|
- samples/config/custom_config.rb
|
281
281
|
- samples/data/_csv.rb
|
@@ -299,6 +299,7 @@ extra_rdoc_files:
|
|
299
299
|
- samples/saves/_hand.rb
|
300
300
|
- samples/saves/_portrait_landscape.rb
|
301
301
|
- samples/saves/_saves.rb
|
302
|
+
- samples/saves/_save_filenames.rb
|
302
303
|
- samples/saves/_save_pdf.rb
|
303
304
|
- samples/saves/_showcase.rb
|
304
305
|
- samples/shapes/_draw_shapes.rb
|
@@ -319,6 +320,7 @@ files:
|
|
319
320
|
- ".travis.yml"
|
320
321
|
- CHANGELOG.md
|
321
322
|
- CONTRIBUTING.md
|
323
|
+
- Dockerfile
|
322
324
|
- Gemfile
|
323
325
|
- LICENSE.txt
|
324
326
|
- README.md
|
@@ -437,10 +439,10 @@ files:
|
|
437
439
|
- samples/autoscale_font/_autoscale_font.rb
|
438
440
|
- samples/backend/_backend.rb
|
439
441
|
- samples/basic.rb
|
440
|
-
- samples/bug256/_bug256.rb
|
441
442
|
- samples/build_groups/build_groups.rb
|
442
443
|
- samples/colors/_colors.rb
|
443
444
|
- samples/colors/_gradients.rb
|
445
|
+
- samples/colors/_switch_color.rb
|
444
446
|
- samples/config/config_text_markup.rb
|
445
447
|
- samples/config/custom_config.rb
|
446
448
|
- samples/data/_csv.rb
|
@@ -463,6 +465,7 @@ files:
|
|
463
465
|
- samples/ranges/_ranges.rb
|
464
466
|
- samples/saves/_hand.rb
|
465
467
|
- samples/saves/_portrait_landscape.rb
|
468
|
+
- samples/saves/_save_filenames.rb
|
466
469
|
- samples/saves/_save_pdf.rb
|
467
470
|
- samples/saves/_saves.rb
|
468
471
|
- samples/saves/_showcase.rb
|
@@ -493,15 +496,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
493
496
|
requirements:
|
494
497
|
- - ">="
|
495
498
|
- !ruby/object:Gem::Version
|
496
|
-
version: 2.
|
499
|
+
version: 2.4.0
|
497
500
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
498
501
|
requirements:
|
499
|
-
- - "
|
502
|
+
- - ">="
|
500
503
|
- !ruby/object:Gem::Version
|
501
|
-
version:
|
504
|
+
version: '0'
|
502
505
|
requirements: []
|
503
506
|
rubyforge_project:
|
504
|
-
rubygems_version: 2.7.
|
507
|
+
rubygems_version: 2.7.6
|
505
508
|
signing_key:
|
506
509
|
specification_version: 2
|
507
510
|
summary: A Ruby DSL for prototyping card games
|
@@ -509,10 +512,10 @@ test_files:
|
|
509
512
|
- samples/autoscale_font/_autoscale_font.rb
|
510
513
|
- samples/backend/_backend.rb
|
511
514
|
- samples/basic.rb
|
512
|
-
- samples/bug256/_bug256.rb
|
513
515
|
- samples/build_groups/build_groups.rb
|
514
516
|
- samples/colors/_colors.rb
|
515
517
|
- samples/colors/_gradients.rb
|
518
|
+
- samples/colors/_switch_color.rb
|
516
519
|
- samples/config/config_text_markup.rb
|
517
520
|
- samples/config/custom_config.rb
|
518
521
|
- samples/data/_csv.rb
|
@@ -535,6 +538,7 @@ test_files:
|
|
535
538
|
- samples/ranges/_ranges.rb
|
536
539
|
- samples/saves/_hand.rb
|
537
540
|
- samples/saves/_portrait_landscape.rb
|
541
|
+
- samples/saves/_save_filenames.rb
|
538
542
|
- samples/saves/_save_pdf.rb
|
539
543
|
- samples/saves/_saves.rb
|
540
544
|
- samples/saves/_showcase.rb
|
data/samples/bug256/_bug256.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# require 'squib'
|
2
|
-
require_relative '../../lib/squib'
|
3
|
-
|
4
|
-
|
5
|
-
Squib::Deck.new do
|
6
|
-
background color: :white
|
7
|
-
# text str: 'Hello, :world:', font_size: 10 do |embed|
|
8
|
-
# embed.svg key: ':world:', file: 'A01.svg', width: 10, height: 0
|
9
|
-
# end
|
10
|
-
svg file: 'A01.svg', width: 0
|
11
|
-
|
12
|
-
save_png
|
13
|
-
end
|